From f685dc8a297618b76d81a192a28f7d586e9a170f Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Thu, 20 Nov 2014 01:41:23 -0600 Subject: [PATCH] Fix improperly sized string buffers in compton pid code --- twin/compton-tde/compton.c | 4 ++-- twin/workspace.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/twin/compton-tde/compton.c b/twin/compton-tde/compton.c index 3f9b65e69..36af91f5b 100644 --- a/twin/compton-tde/compton.c +++ b/twin/compton-tde/compton.c @@ -110,7 +110,7 @@ void write_pid_file(pid_t pid) 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 @@ void delete_pid_file() 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 b6b1e2f62..14ab22efb 100644 --- a/twin/workspace.cpp +++ b/twin/workspace.cpp @@ -241,7 +241,7 @@ Workspace::Workspace( bool restore ) 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 @@ void Workspace::slotReconfigure() 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, "/.");