]> git.ipfire.org Git - thirdparty/cups-filters.git/commitdiff
libcupsfilters: Close files on file copy error in filter functions
authorchandresh soni <75661901+Chandresh2702@users.noreply.github.com>
Thu, 13 Jan 2022 20:07:18 +0000 (01:37 +0530)
committerGitHub <noreply@github.com>
Thu, 13 Jan 2022 20:07:18 +0000 (21:07 +0100)
Some filter functions do not close the input file when it comes to an error opening a temporary file to copy the input into. This causes a memory leak in continuously running callers, like Printer Applications.

cupsfilters/ghostscript.c
cupsfilters/imagetopdf.c
cupsfilters/imagetoraster.c

index 69a83b7454cb50958862acb8d73e677abaf940a6..4d7a62c47128b11e800c9246bc1a4606826f5117 100644 (file)
@@ -927,6 +927,7 @@ ghostscript(int inputfd,         /* I - File descriptor input stream */
       {
        if (log) log(ld, FILTER_LOGLEVEL_ERROR,
                     "ghostscript: Unable to copy PDF file: %s", strerror(errno));
+       fclose(fp);
        return (1);
       }
 
index a06d76e651ad92cf96ffdb774072bea95c39d955..ec320c9a2ae28cf81fc025a6227e8d5cfa09e8d6 100644 (file)
@@ -794,6 +794,7 @@ imagetopdf(int inputfd,         /* I - File descriptor input stream */
       if (log) log(ld, FILTER_LOGLEVEL_ERROR,
                   "imagetopdf: Unable to copy input: %s",
                   strerror(errno));
+      fclose(fp);
       return (1);
     }
 
index a63ae7e8b68a9612bfb398027f1ce2c0472d0eb6..822c7ba0b527c24401229bc9d5009e4d7f4c3dc1 100644 (file)
@@ -335,6 +335,7 @@ imagetoraster(int inputfd,         /* I - File descriptor input stream */
       if (log) log(ld, FILTER_LOGLEVEL_ERROR,
                   "imagetoraster: Unable to copy input: %s",
                   strerror(errno));
+      fclose(fp);
       return (1);
     }