aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nx-X11/lib/X11/XlcDL.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/nx-X11/lib/X11/XlcDL.c b/nx-X11/lib/X11/XlcDL.c
index a23603865..519103b86 100644
--- a/nx-X11/lib/X11/XlcDL.c
+++ b/nx-X11/lib/X11/XlcDL.c
@@ -267,18 +267,20 @@ __lc_path(const char *dl_name, const char *lc_dir)
char *slash_p;
slash_p = strrchr(lc_dir, '/');
*slash_p = '\0';
- strcpy(path, lc_dir); strcat(path, "/");
#if defined POSTLOCALELIBDIR
- strcat(path, POSTLOCALELIBDIR); strcat(path, "/");
+ snprintf(path, len + 1, "%s/%s/%s.so.2",
+ lc_dir, POSTLOCALELIBDIR, dl_name);
+#else
+ snprintf(path, len + 1, "%s/%s.so.2", lc_dir, dl_name);
#endif
- strcat(path, dl_name); strcat(path, ".so.2");
*slash_p = '/';
} else {
- strcpy(path, lc_dir); strcat(path, "/");
#if defined POSTLOCALELIBDIR
- strcat(path, POSTLOCALELIBDIR); strcat(path, "/");
+ snprintf(path, len + 1, "%s/%s/%s.so.2",
+ lc_dir, POSTLOCALELIBDIR, dl_name);
+#else
+ snprintf(path, len + 1, "%s/%s.so.2", lc_dir, dl_name);
#endif
- strcat(path, dl_name); strcat(path, ".so.2");
}
return path;
}