--- src/cups-pdf.c.orig 2017-02-27 18:59:19.385868066 -0400 +++ src/cups-pdf.c 2017-02-27 19:03:21.326029747 -0400 @@ -821,6 +880,7 @@ gid_t *groups; int ngroups; pid_t pid; + struct stat statout; if (setuid(0)) { (void) fputs("CUPS-PDF cannot be called without root privileges!\n", stderr); @@ -1050,7 +1110,11 @@ (void) umask(0077); size=system(gscall); - log_event(CPDEBUG, "ghostscript has finished: %d", size); + if (size) + log_event(CPERROR, "ghostscript reported an error", size); + else + log_event(CPDEBUG, "ghostscript succeeded", NULL); + if (chmod(outfile, mode)) log_event(CPERROR, "failed to set file mode for PDF file: %s (non fatal)", outfile); else @@ -1083,6 +1147,11 @@ else log_event(CPDEBUG, "spoolfile unlinked: %s", spoolfile); + if (stat(outfile, &statout) || statout.st_size==0) + log_event(CPSTATUS, "PDF creation failed", NULL); + else + log_event(CPSTATUS, "PDF creation successfully finished", outfile); + free(groups); free(dirname); free(spoolfile); @@ -1091,8 +1160,6 @@ log_event(CPDEBUG, "all memory has been freed"); - log_event(CPSTATUS, "PDF creation successfully finished for %s", passwd->pw_name); - if (logfp!=NULL) (void) fclose(logfp); return 0;