1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

imake: Coverity (memory corruption, moderate)

This commit is contained in:
Jon Trulson 2014-12-26 15:47:59 -07:00
parent 07dc336b96
commit 539f785df9

View file

@ -1015,20 +1015,20 @@ get_libc_version(FILE *inFile)
int len; int len;
char *command; char *command;
memset(&aout, '\0', PATH_MAX); memset(aout, '\0', PATH_MAX);
if (!lstat(getenv("TMPDIR"), &sb) && S_ISDIR(sb.st_mode)) if (!lstat(getenv("TMPDIR"), &sb) && S_ISDIR(sb.st_mode))
strncpy(aout, getenv("TMPDIR"), PATH_MAX); strncpy(aout, getenv("TMPDIR"), PATH_MAX - 1);
#ifdef P_tmpdir /* defined by XPG and XOPEN, but don't assume we have it */ #ifdef P_tmpdir /* defined by XPG and XOPEN, but don't assume we have it */
else if (!lstat(P_tmpdir, &sb) && S_ISDIR(sb.st_mode)) else if (!lstat(P_tmpdir, &sb) && S_ISDIR(sb.st_mode))
strncpy(aout, P_tmpdir, PATH_MAX); strncpy(aout, P_tmpdir, PATH_MAX - 1);
#endif #endif
else if (!lstat("/tmp", &sb) && S_ISDIR(sb.st_mode)) else if (!lstat("/tmp", &sb) && S_ISDIR(sb.st_mode))
strncpy(aout, "/tmp", PATH_MAX); strncpy(aout, "/tmp", PATH_MAX - 1);
else else
abort(); abort();
strncpy(aout+strlen(aout), "/imaketmp.XXXXXX", 16); strncat(aout, "/imaketmp.XXXXXX", PATH_MAX - 1);
if ((fd = mkstemp(aout)) == -1) if ((fd = mkstemp(aout)) == -1)
abort (); abort ();
@ -1221,13 +1221,13 @@ get_gcc_incdir(FILE *inFile)
char cmd[PATH_MAX]; char cmd[PATH_MAX];
char* ptr; char* ptr;
buf[0] = '\0'; memset(buf, 0, PATH_MAX);
for (i = 0; i < sizeof gcc_path / sizeof gcc_path[0]; i++) { for (i = 0; i < sizeof gcc_path / sizeof gcc_path[0]; i++) {
if (lstat (gcc_path[i], &sb) == 0) { if (lstat (gcc_path[i], &sb) == 0) {
strncpy (cmd, gcc_path[i], PATH_MAX - 25); strncpy (cmd, gcc_path[i], PATH_MAX - 1 );
strncpy (cmd + strlen(cmd), " --print-libgcc-file-name", 25); strncat (cmd, " --print-libgcc-file-name", PATH_MAX - 1);
if ((gccproc = popen (cmd, "r")) != NULL) { if ((gccproc = popen (cmd, "r")) != NULL) {
if (fgets (buf, PATH_MAX, gccproc) != NULL) { if (fgets (buf, PATH_MAX - 1, gccproc) != NULL) {
ptr = strstr (buf, "libgcc.a"); ptr = strstr (buf, "libgcc.a");
if (ptr) strncpy (ptr, "include", 7); if (ptr) strncpy (ptr, "include", 7);
} }