Blob Blame History Raw
diff -up foomatic-filters-4.0.8/foomaticrip.c.CVE-2011-2924 foomatic-filters-4.0.8/foomaticrip.c
--- foomatic-filters-4.0.8/foomaticrip.c.CVE-2011-2924	2011-08-18 16:27:57.277636643 +0100
+++ foomatic-filters-4.0.8/foomaticrip.c	2011-08-18 16:33:37.680136675 +0100
@@ -1188,9 +1188,13 @@ int main(int argc, char** argv)
     if (arglist_remove_flag(arglist, "--debug"))
         debug = 1;
 
-    if (debug)
-        logh = fopen(LOG_FILE ".log", "w"); /* insecure, use for debugging only */
-    else if (quiet && !verbose)
+    if (debug) {
+	int fd = mkstemp (LOG_FILE "-XXXXXX.log");
+	if (fd != -1)
+	    logh = fdopen(fd, "w");
+	else
+	    logh = stderr;
+    } else if (quiet && !verbose)
         logh = NULL; /* Quiet mode, do not log */
     else
         logh = stderr; /* Default: log to stderr */
diff -up foomatic-filters-4.0.8/renderer.c.CVE-2011-2924 foomatic-filters-4.0.8/renderer.c
--- foomatic-filters-4.0.8/renderer.c.CVE-2011-2924	2011-07-25 10:50:57.000000000 +0100
+++ foomatic-filters-4.0.8/renderer.c	2011-08-18 14:36:14.120153309 +0100
@@ -434,7 +434,7 @@ int exec_kid3(FILE *in, FILE *out, void 
         }
 
         /* Save the data supposed to be fed into the renderer also into a file*/
-        dstrprepend(commandline, "tee -a " LOG_FILE ".ps | ( ");
+        dstrprepend(commandline, "tee $(mktemp " LOG_FILE "-XXXXXX.ps) | ( ");
         dstrcat(commandline, ")");
     }