aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2013-11-17 08:49:51 +0000
committerGuy Harris <guy@alum.mit.edu>2013-11-17 08:49:51 +0000
commited80b06a78ed479b4970fe61230e27477e2a8559 (patch)
tree427150c33909bc369c5f29d4577728c48a7e712a /wsutil
parentd0cd9624d906022f69ecc79c09e7cbdc2acf309d (diff)
strncat() bad, g_strlcat() good.
svn path=/trunk/; revision=53381
Diffstat (limited to 'wsutil')
-rw-r--r--wsutil/filesystem.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/wsutil/filesystem.c b/wsutil/filesystem.c
index 8028f61ca1..84b326e7d7 100644
--- a/wsutil/filesystem.c
+++ b/wsutil/filesystem.c
@@ -562,7 +562,7 @@ init_progfile_dir(const char *arg0
long path_max;
char *pathstr;
char *path_start, *path_end;
- size_t path_component_len;
+ size_t path_component_len, path_len;
char *retstr;
char *path;
char *dir_end;
@@ -661,12 +661,13 @@ init_progfile_dir(const char *arg0
if (path_end == NULL)
path_end = path_start + strlen(path_start);
path_component_len = path_end - path_start;
- path = (char *)g_malloc(path_component_len + 1
- + strlen(execname) + 1);
+ path_len = path_component_len + 1
+ + strlen(execname) + 1;
+ path = (char *)g_malloc(path_len);
memcpy(path, path_start, path_component_len);
path[path_component_len] = '\0';
- strncat(path, "/", 2);
- strncat(path, execname, strlen(execname) + 1);
+ g_strlcat(path, "/", path_len);
+ g_strlcat(path, execname, path_len);
if (access(path, X_OK) == 0) {
/*
* Found it!