f685dc8a | 2014-11-20 01:41:23 | Timothy Pearson |
Fix improperly sized string buffers in compton pid code |
||
M twin/compton-tde/compton.c M twin/workspace.cpp |
||
diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c index 3f9b65e..36af91f 100644 --- a/twin/compton-tde/compton.c +++ b/twin/compton-tde/compton.c @@ -110,7 +110,7 @@ char uidstr[sizeof(uid_t)*8+1]; sprintf(uidstr, "%d", getuid()); int n = strlen(P_tmpdir)+strlen(uidstr)+strlen(pidfile)+3; - filename = (char*)malloc(n*sizeof(char)); + filename = (char*)malloc(n*sizeof(char)+1); memset(filename,0,n); strcat(filename, P_tmpdir); strcat(filename, "/."); @@ -141,7 +141,7 @@ char uidstr[sizeof(uid_t)*8+1]; sprintf(uidstr, "%d", getuid()); int n = strlen(P_tmpdir)+strlen(uidstr)+strlen(pidfile)+3; - filename = (char*)malloc(n*sizeof(char)); + filename = (char*)malloc(n*sizeof(char)+1); memset(filename,0,n); strcat(filename, P_tmpdir); strcat(filename, "/."); diff --git a/twin/workspace.cpp b/twin/workspace.cpp index b6b1e2f..14ab22e 100644 --- a/twin/workspace.cpp +++ b/twin/workspace.cpp @@ -241,7 +241,7 @@ char uidstr[sizeof(uid_t)*8+1]; sprintf(uidstr, "%d", getuid()); int n = strlen(P_tmpdir)+strlen(uidstr)+strlen(pidfile)+3; - filename = (char*)malloc(n*sizeof(char)); + filename = (char*)malloc(n*sizeof(char)+1); memset(filename,0,n); strcat(filename, P_tmpdir); strcat(filename, "/."); @@ -1090,7 +1090,7 @@ char uidstr[sizeof(uid_t)*8+1]; sprintf(uidstr, "%d", getuid()); int n = strlen(P_tmpdir)+strlen(uidstr)+strlen(pidfile)+3; - filename = (char*)malloc(n*sizeof(char)); + filename = (char*)malloc(n*sizeof(char)+1); memset(filename,0,n); strcat(filename, P_tmpdir); strcat(filename, "/."); |