[gimp/gimp-2-10] webpmux: fix memory leak by calling WebPMuxDelete()



commit 741a659a12ff221bd5ec83914db8b6f09df7bf78
Author: Skal <skal google com>
Date:   Wed Nov 28 13:37:39 2018 +0100

    webpmux: fix memory leak by calling WebPMuxDelete()
    
    (cherry picked from commit e9200d2c00493606aff2b0ce4927f5dcfe859c00)

 plug-ins/file-webp/file-webp-load.c | 8 +++++++-
 plug-ins/file-webp/file-webp-save.c | 2 ++
 2 files changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/plug-ins/file-webp/file-webp-load.c b/plug-ins/file-webp/file-webp-load.c
index 81ab934df4..ac6832eb95 100644
--- a/plug-ins/file-webp/file-webp-load.c
+++ b/plug-ins/file-webp/file-webp-load.c
@@ -144,7 +144,10 @@ load_image (const gchar *filename,
 
       /* Check to ensure the image data was loaded correctly */
       if (! outdata)
-        return -1;
+        {
+          WebPMuxDelete (mux);
+          return -1;
+        }
 
       create_layer (image_ID, outdata, 0, _("Background"),
                     width, height);
@@ -173,6 +176,7 @@ load_image (const gchar *filename,
               WebPDemuxDelete (demux);
             }
 
+          WebPMuxDelete (mux);
           return -1;
         }
 
@@ -277,6 +281,8 @@ load_image (const gchar *filename,
       g_object_unref (file);
     }
 
+  WebPMuxDelete (mux);
+
   gimp_image_set_filename (image_ID, filename);
 
   return image_ID;
diff --git a/plug-ins/file-webp/file-webp-save.c b/plug-ins/file-webp/file-webp-save.c
index 9968e6f20c..3aa3818d00 100644
--- a/plug-ins/file-webp/file-webp-save.c
+++ b/plug-ins/file-webp/file-webp-save.c
@@ -316,6 +316,8 @@ save_layer (const gchar    *filename,
                   rewind (outfile);
                   webp_anim_file_writer (outfile, wp_data.bytes, wp_data.size);
                 }
+
+              WebPMuxDelete (mux);
             }
           else
             {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]