[gnome-settings-daemon/gnome-2-32] housekeeping: Don't access free'd memory if a volume is unmounted whilst the dialog is displayed



commit 9178b52ae5b26a3018b776878cc9fbdfd2393345
Author: Rodrigo Moya <rodrigo gnome-db org>
Date:   Fri Nov 5 15:44:43 2010 +0100

    housekeeping: Don't access free'd memory if a volume is unmounted whilst the dialog is displayed

 plugins/housekeeping/gsd-disk-space.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/plugins/housekeeping/gsd-disk-space.c b/plugins/housekeeping/gsd-disk-space.c
index 8c4d378..d47cdf7 100644
--- a/plugins/housekeeping/gsd-disk-space.c
+++ b/plugins/housekeeping/gsd-disk-space.c
@@ -181,7 +181,7 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,
         gboolean has_trash;
         gboolean has_disk_analyzer;
         gboolean retval = TRUE;
-        const gchar *path;
+        gchar *path;
 
         /* Don't show a dialog if one is already displayed */
         if (dialog)
@@ -190,7 +190,7 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,
         name = g_unix_mount_guess_name (mount->mount);
         free_space = (gint64) mount->buf.f_frsize * (gint64) mount->buf.f_bavail;
         has_trash = ldsm_mount_has_trash (mount);
-        path = g_unix_mount_get_mount_path (mount->mount);
+        path = g_strdup (g_unix_mount_get_mount_path (mount->mount));
 
         program = g_find_program_in_path (DISK_SPACE_ANALYZER);
         has_disk_analyzer = (program != NULL);
@@ -218,7 +218,7 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,
                 break;
         case GSD_LDSM_DIALOG_RESPONSE_ANALYZE:
                 retval = FALSE;
-                ldsm_analyze_path (g_unix_mount_get_mount_path (mount->mount));
+                ldsm_analyze_path (path);
                 break;
         case GSD_LDSM_DIALOG_RESPONSE_EMPTY_TRASH:
                 retval = TRUE;
@@ -232,6 +232,8 @@ ldsm_notify_for_mount (LdsmMountInfo *mount,
                 g_assert_not_reached ();
         }
 
+        g_free (path);
+
         return retval;
 }
 



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