summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl_Help_View.H2
-rw-r--r--src/Fl_Help_View.cxx8
2 files changed, 5 insertions, 5 deletions
diff --git a/FL/Fl_Help_View.H b/FL/Fl_Help_View.H
index 2c73926c0..35fd44ee0 100644
--- a/FL/Fl_Help_View.H
+++ b/FL/Fl_Help_View.H
@@ -225,7 +225,7 @@ class FL_EXPORT Fl_Help_View : public Fl_Group { // Help viewer widget
atargets_; ///< Allocated targets
Fl_Help_Target *targets_; ///< Targets
- char directory_[FL_PATH_MAX];///< Directory for current file
+ char directory_[2 * FL_PATH_MAX + 15]; ///< Directory for current file
char filename_[FL_PATH_MAX]; ///< Current filename
int topline_, ///< Top line in document
leftline_, ///< Lefthand position
diff --git a/src/Fl_Help_View.cxx b/src/Fl_Help_View.cxx
index d77d5caee..523ef8b59 100644
--- a/src/Fl_Help_View.cxx
+++ b/src/Fl_Help_View.cxx
@@ -2701,7 +2701,7 @@ Fl_Shared_Image *
Fl_Help_View::get_image(const char *name, int W, int H) {
const char *localname; // Local filename
char dir[FL_PATH_MAX]; // Current directory
- char temp[2 * FL_PATH_MAX], // Temporary filename
+ char temp[3 * FL_PATH_MAX], // Temporary filename
*tempptr; // Pointer into temporary name
Fl_Shared_Image *ip; // Image pointer...
@@ -2798,8 +2798,8 @@ void Fl_Help_View::follow_link(Fl_Help_Link *linkp)
if (strcmp(linkp->filename, filename_) != 0 && linkp->filename[0])
{
char dir[FL_PATH_MAX]; // Current directory
- char temp[2 * FL_PATH_MAX], // Temporary filename
- *tempptr; // Pointer into temporary filename
+ char temp[3 * FL_PATH_MAX], // Temporary filename
+ *tempptr; // Pointer into temporary filename
if (strchr(directory_, ':') != NULL &&
@@ -2809,7 +2809,7 @@ void Fl_Help_View::follow_link(Fl_Help_Link *linkp)
{
strlcpy(temp, directory_, sizeof(temp));
if ((tempptr = strrchr(strchr(directory_, ':') + 3, '/')) != NULL)
- strlcpy(tempptr, linkp->filename, sizeof(temp));
+ strlcpy(tempptr, linkp->filename, 2 * FL_PATH_MAX); // sizeof(temp));
else
strlcat(temp, linkp->filename, sizeof(temp));
}