commit 66b1a64edcdb8afc20394a0727a1c194af254b76
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Tue Dec 28 22:23:07 2010 +0000

    Attempted fix for segfault due to escape string in uri
    
    * autodetection.c
     * Would appear that ipod names that include an apostrophe, eg. Kyle's ipod,
       have a problem being escaped to uri type strings, ie. 's changed
       to %27s. Printing this string in warning messages segfaults gtkpod
       since it is considered a format string.
     * Using the non-uri string for all print statements should avoid this
       rather specific problem.

 libgtkpod/autodetection.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/libgtkpod/autodetection.c b/libgtkpod/autodetection.c
index d29ee5d..efe5a0e 100644
--- a/libgtkpod/autodetection.c
+++ b/libgtkpod/autodetection.c
@@ -216,10 +216,9 @@ static gboolean ad_timeout_cb(gpointer data) {
             GFile *muri = g_file_parse_name(mount_uri);
             mountpoint = g_file_get_path(muri);
             g_object_unref(muri);
-            g_free(mount_uri);
 
             if (mountpoint) {
-                debug ("Mounted iPod at '%s'\n", mountpoint);
+                debug ("Mounted iPod at '%s'\n", mount_uri);
                 itdb = ad_find_repository_with_mountpoint(mountpoint);
             }
 
@@ -241,11 +240,11 @@ static gboolean ad_timeout_cb(gpointer data) {
                         set_itdb_prefs_int(loaded_itdb, "type", 
loaded_itdb->usertype);
                     }
                     else {
-                        gtkpod_warning(_("Newly mounted iPod at '%s' could not 
be loaded into gtkpod.\n\n"), mountpoint);
+                        gtkpod_warning(_("Newly mounted iPod at '%s' could not 
be loaded into gtkpod.\n\n"), mount_uri);
                     }
                 }
                 else {
-                    gtkpod_warning(_("Newly mounted iPod at '%s' appears to be 
already loaded!\n\n"), mountpoint);
+                    gtkpod_warning(_("Newly mounted iPod at '%s' appears to be 
already loaded!\n\n"), mount_uri);
                 } debug ("...OK (used)\n");
             }
             else { /* Set up new itdb (which we'll add to the end of the list) 
*/
@@ -272,6 +271,7 @@ static gboolean ad_timeout_cb(gpointer data) {
             release_widgets();
 
             g_free(mountpoint);
+            g_free(mount_uri);
 
             g_mutex_lock (ad->mutex);
         }

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to