]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Fix a memory leak in the label printer driver (STR #4393)
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 27 Mar 2014 17:06:12 +0000 (17:06 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 27 Mar 2014 17:06:12 +0000 (17:06 +0000)
Make sure we free CompBuffer and LastBuffer as needed in EndPage.

git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11755 a1ca3aef-8c08-0410-bb20-df032aa958be

CHANGES-1.7.txt
filter/rastertolabel.c

index 0241b6c4e5e0bac4dd16a0c309bef7caf5f364d9..c52c40dda2095010815feb25ca42f62f943f9228 100644 (file)
@@ -13,6 +13,7 @@ CHANGES IN CUPS V1.7.2
        - Phone numbers in fax jobs were not properly filtered for IPP FaxOut
          (<rdar://problem/16351701>)
        - Updated Linux "relro" support (STR #4349)
+       - Fixed a memory leak in the label printer driver (STR #4393)
        - cupsEnumDests did not set the "is_default" field (STR #4332)
        - cupsDoIORequest could miss the server status, causing failed lpadmin
          and other administrative commands (STR #4386)
index 162307d65fb75fe6930b922af3c3856e88c233d5..6868a73e4fe5fc7085487e3f2a1bc444919c3bde 100644 (file)
@@ -629,13 +629,6 @@ EndPage(ppd_file_t *ppd,           /* I - PPD file */
 
         puts("^IDR:CUPS.GRF^FS");
        puts("^XZ");
-
-       /*
-        * Free compression buffers...
-       */
-
-       free(CompBuffer);
-       free(LastBuffer);
         break;
 
     case ZEBRA_CPCL :
@@ -704,6 +697,18 @@ EndPage(ppd_file_t *ppd,           /* I - PPD file */
   */
 
   free(Buffer);
+
+  if (CompBuffer)
+  {
+    free(CompBuffer);
+    CompBuffer = NULL;
+  }
+
+  if (LastBuffer)
+  {
+    free(LastBuffer);
+    LastBuffer = NULL;
+  }
 }