From: Ronan Le Martret Date: Tue, 29 Aug 2017 14:09:07 +0000 (+0200) Subject: fix strncat funct X-Git-Tag: 4.99.3~13 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=55f0a986d2c819731e45e5612dfc76a5d1ca76ce;p=apps%2Fapp-afb-helpers-submodule.git fix strncat funct I: Statement might be overflowing a buffer in strncat. Common mistake: BAD: strncat(buffer,charptr,sizeof(buffer)) is wrong, it takes the left over size as 3rd argument GOOD: strncat(buffer,charptr,sizeof(buffer)-strlen(buffer)-1) Signed-off-by: Ronan Le Martret --- diff --git a/filescan-utils.c b/filescan-utils.c index e735682..f1de9d0 100644 --- a/filescan-utils.c +++ b/filescan-utils.c @@ -49,8 +49,8 @@ PUBLIC json_object* ScanForConfig (const char* searchPath, CtlScanDirModeT mode, if (dirEnt->d_name[0]=='.' || dirEnt->d_name[0]=='_') continue; strncpy(newpath, searchPath, sizeof(newpath)); - strncat(newpath, "/", sizeof(newpath)); - strncat(newpath, dirEnt->d_name, sizeof(newpath)); + strncat(newpath, "/", sizeof(newpath)-strlen(newpath)-1); + strncat(newpath, dirEnt->d_name, sizeof(newpath)-strlen(newpath)-1); ScanDir(newpath); continue; }