[Goodies-commits] r5512 - in xfce4-screenshooter-plugin/trunk: . src

Jerome Guelfucci jeromeg at xfce.org
Sun Oct 5 10:19:33 CEST 2008


Author: jeromeg
Date: 2008-10-05 08:19:33 +0000 (Sun, 05 Oct 2008)
New Revision: 5512

Modified:
   xfce4-screenshooter-plugin/trunk/ChangeLog
   xfce4-screenshooter-plugin/trunk/src/main.c
   xfce4-screenshooter-plugin/trunk/src/screenshooter-utils.c
Log:
Fix four memleaks detected by Gauvain Pocentek.

Modified: xfce4-screenshooter-plugin/trunk/ChangeLog
===================================================================
--- xfce4-screenshooter-plugin/trunk/ChangeLog	2008-10-04 17:07:53 UTC (rev 5511)
+++ xfce4-screenshooter-plugin/trunk/ChangeLog	2008-10-05 08:19:33 UTC (rev 5512)
@@ -1,3 +1,11 @@
+2008-10-05 jeromeg
+
+  * Plug some leaks detected by Gauvain Pocentek:
+    - src/main.c: in (main), free sd->screenshot_dir before setting the new 
+      value from command line.
+    - src/screenshooter-utils.c: in (save_screenshot), free filename before
+      getting the user set filename.
+
 2008-10-04 jeromeg
 
   * Partially refactor the code:

Modified: xfce4-screenshooter-plugin/trunk/src/main.c
===================================================================
--- xfce4-screenshooter-plugin/trunk/src/main.c	2008-10-04 17:07:53 UTC (rev 5511)
+++ xfce4-screenshooter-plugin/trunk/src/main.c	2008-10-05 08:19:33 UTC (rev 5512)
@@ -191,10 +191,12 @@
           /* Check if the path is absolute, if not make it absolute */
           if (g_path_is_absolute (screenshot_dir))
             { 
-              sd->screenshot_dir = screenshot_dir;
+              g_free (sd->screenshot_dir);
+              sd->screenshot_dir = screenshot_dir;              
             }
           else
             {
+              g_free (sd->screenshot_dir);
               sd->screenshot_dir = 
               g_build_filename (g_get_current_dir (), screenshot_dir, NULL);
               g_free (screenshot_dir);

Modified: xfce4-screenshooter-plugin/trunk/src/screenshooter-utils.c
===================================================================
--- xfce4-screenshooter-plugin/trunk/src/screenshooter-utils.c	2008-10-04 17:07:53 UTC (rev 5511)
+++ xfce4-screenshooter-plugin/trunk/src/screenshooter-utils.c	2008-10-05 08:19:33 UTC (rev 5512)
@@ -240,6 +240,7 @@
 	  
 	    if (dialog_response == GTK_RESPONSE_ACCEPT)
 	      {
+	        g_free (filename);
 	        filename = 
 	          gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser) );
           gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
@@ -249,9 +250,13 @@
 	  }  
 	else
 	  {    
+	    gchar * savename = NULL;
 	    /* Else, we just save the file in the default folder */
-      filename = g_build_filename (default_dir, filename, NULL);
-	    gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
+      
+      savename = g_build_filename (default_dir, filename, NULL);
+	    gdk_pixbuf_save (screenshot, savename, "png", NULL, NULL);
+	    
+	    g_free (savename);
 	  }
 
   g_free (filename);




More information about the Goodies-commits mailing list