]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Fix a few Coverity-reported issues.
authorMichael R Sweet <msweet@msweet.org>
Sat, 22 Apr 2023 03:46:06 +0000 (23:46 -0400)
committerMichael R Sweet <msweet@msweet.org>
Sat, 22 Apr 2023 03:46:06 +0000 (23:46 -0400)
tools/ippeveprinter.c

index 857ba7cf774e3e86b9d51c2bcbdaabd4472f94dd..bf98de08dc983b301a1037c4269ee522f55a8049 100644 (file)
@@ -1681,7 +1681,7 @@ create_printer(
     * Extract up to 3 icons...
     */
 
-    for (i = 1, iconsptr = strchr(icons, ','); iconsptr && i < 3; i ++, iconsptr = strchr(iconsptr, ','))
+    for (i = 1, iconsptr = strchr(printer->icons, ','); iconsptr && i < 3; i ++, iconsptr = strchr(iconsptr, ','))
     {
       *iconsptr++ = '\0';
       printer->icons[i] = iconsptr;
@@ -6862,7 +6862,10 @@ process_job(ippeve_job_t *job)           /* I - Job */
     }
 
     if (mystdout < 0)
-      mystdout = open("/dev/null", O_WRONLY | O_BINARY);
+    {
+      if ((mystdout = open("/dev/null", O_WRONLY | O_BINARY)) < 0)
+        fprintf(stderr, "[Job %d] Unable to redirect command output to /dev/null: %s", job->id, strerror(errno));
+    }
 
     if (pipe(mypipe))
     {
@@ -6876,14 +6879,20 @@ process_job(ippeve_job_t *job)          /* I - Job */
       * Child comes here...
       */
 
-      close(1);
-      dup2(mystdout, 1);
-      close(mystdout);
+      if (mystdout >= 0)
+      {
+       close(1);
+        dup2(mystdout, 1);
+        close(mystdout);
+      }
 
-      close(2);
-      dup2(mypipe[1], 2);
-      close(mypipe[0]);
-      close(mypipe[1]);
+      if (mypipe[1] >= 0)
+      {
+       close(2);
+       dup2(mypipe[1], 2);
+       close(mypipe[0]);
+       close(mypipe[1]);
+      }
 
       execve(job->printer->command, myargv, myenvp);
       exit(errno);