From c9ebd122fb9b7c28abac21b83ade9fee365a882f Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sat, 19 Dec 2015 10:19:25 -0800 Subject: XlcDL.c: replace strcpy+strcat sequences with snprintf Signed-off-by: Alan Coopersmith Reviewed-by: Adam Jackson Backported-to-NX-by: Ulrich Sibiller --- nx-X11/lib/X11/XlcDL.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'nx-X11/lib/X11') 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; } -- cgit v1.2.3