From f7ecc0856be58608881d2086954cb71857ad64e1 Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Sat, 19 Dec 2015 10:19:25 -0800 Subject: [PATCH] XlcDL.c: replace strcpy+strcat sequences with snprintf Signed-off-by: Alan Coopersmith Reviewed-by: Adam Jackson --- src/xlibi18n/XlcDL.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/xlibi18n/XlcDL.c b/src/xlibi18n/XlcDL.c index a2360386..519103b8 100644 --- a/src/xlibi18n/XlcDL.c +++ b/src/xlibi18n/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; }