Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > 09236aad26217818763c178cc3a83744 > files > 3

ghostscript-9.24-1.5.mga6.src.rpm

From 232c2bf9db56ab32fbe5026e1b3eabdbb88380a8 Mon Sep 17 00:00:00 2001
From: Michael Vrhel <michael.vrhel@artifex.com>
Date: Fri, 7 Sep 2018 10:33:41 -0700
Subject: [PATCH] gprf device:  Memory leak

The deflate_block was not being freed after the writing of the page.
---
 devices/gdevgprf.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/devices/gdevgprf.c b/devices/gdevgprf.c
index 3eb668d..f8e7fcc 100644
--- a/devices/gdevgprf.c
+++ b/devices/gdevgprf.c
@@ -802,7 +802,8 @@ gprf_write_header(gprf_write_ctx *xc)
            project. At this point, everything has an alpha of 1.0 */
         rgba[3] = 255;
         if (xc->icclink != NULL) {
-	  xc->icclink->procs.map_color((gx_device *)dev, xc->icclink, &(cmyk[0]), &(rgba[0]), 1);
+            xc->icclink->procs.map_color((gx_device *)dev, xc->icclink,
+                &(cmyk[0]), &(rgba[0]), 1);
         } else {
             /* Something was wrong with the icclink. Use the canned routines. */
             frac rgb_frac[3], cmyk_frac[4];
@@ -1298,13 +1299,11 @@ gprf_write_image_data(gprf_write_ctx *xc)
 
 cleanup:
     gx_downscaler_fin(&ds);
-    gs_free_object(pdev->memory, planes[0],
-                    "gprf_write_image_data");
-    gs_free_object(pdev->memory, rgb[0],
-                   "gprf_write_image_data");
+    gs_free_object(pdev->memory, planes[0], "gprf_write_image_data");
+    gs_free_object(pdev->memory, rgb[0], "gprf_write_image_data");
+    gs_free_object(pdev->memory, xc->deflate_block, "gprf_write_image_data");
     if (equiv_needed) {
-        gs_free_object(pdev->memory, cmyk,
-            "gprf_write_image_data");
+        gs_free_object(pdev->memory, cmyk, "gprf_write_image_data");
     }
     return code;
 }
-- 
2.9.1