Remove some special-casing of empty string which led to dangling pointers.
authorMatthias Clasen <mclasen@redhat.com>
Thu, 27 Apr 2006 20:04:30 +0000 (20:04 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 27 Apr 2006 20:04:30 +0000 (20:04 +0000)
2006-04-27  Matthias Clasen  <mclasen@redhat.com>

* glib/gbookmarkfile.c (g_bookmark_file_set_description)
(g_bookmark_file_set_title, g_bookmark_file_set_icon):
Remove some special-casing of empty string which led to
dangling pointers.  (#339337, Morten Welinder)

ChangeLog
ChangeLog.pre-2-12
glib/gbookmarkfile.c

index 7c85373..34868e3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-04-27  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gbookmarkfile.c (g_bookmark_file_set_description) 
+       (g_bookmark_file_set_title, g_bookmark_file_set_icon): 
+       Remove some special-casing of empty string which led to 
+       dangling pointers.  (#339337, Morten Welinder)
+
 2006-04-27  Behdad Esfahbod  <behdad@gnome.org>
 
        * glib/gunibreak.h, glib/gunichartables.h: Regenerated using
index 7c85373..34868e3 100644 (file)
@@ -1,3 +1,10 @@
+2006-04-27  Matthias Clasen  <mclasen@redhat.com>
+
+       * glib/gbookmarkfile.c (g_bookmark_file_set_description) 
+       (g_bookmark_file_set_title, g_bookmark_file_set_icon): 
+       Remove some special-casing of empty string which led to 
+       dangling pointers.  (#339337, Morten Welinder)
+
 2006-04-27  Behdad Esfahbod  <behdad@gnome.org>
 
        * glib/gunibreak.h, glib/gunichartables.h: Regenerated using
index cf052fa..d2cc520 100644 (file)
@@ -2126,9 +2126,7 @@ g_bookmark_file_set_title (GBookmarkFile *bookmark,
   if (!uri)
     {
       g_free (bookmark->title);
-      
-      if (title && title[0] != '\0')
-        bookmark->title = g_strdup (title);
+      bookmark->title = g_strdup (title);
     }
   else
     {
@@ -2142,9 +2140,7 @@ g_bookmark_file_set_title (GBookmarkFile *bookmark,
         }
       
       g_free (item->title);
-      
-      if (title && title[0] != '\0')
-        item->title = g_strdup (title);
+      item->title = g_strdup (title);
       
       item->modified = time (NULL);
     }
@@ -2216,10 +2212,8 @@ g_bookmark_file_set_description (GBookmarkFile *bookmark,
 
   if (!uri)
     {
-      g_free (bookmark->description);
-      
-      if (description && description[0] != '\0')
-        bookmark->description = g_strdup (description);
+      g_free (bookmark->description); 
+      bookmark->description = g_strdup (description);
     }
   else
     {
@@ -2233,9 +2227,7 @@ g_bookmark_file_set_description (GBookmarkFile *bookmark,
         }
       
       g_free (item->description);
-      
-      if (description && description[0] != '\0')
-        item->description = g_strdup (description);
+      item->description = g_strdup (description);
       
       item->modified = time (NULL);
     }
@@ -3590,8 +3582,7 @@ g_bookmark_file_set_icon (GBookmarkFile *bookmark,
   g_free (item->metadata->icon_href);
   g_free (item->metadata->icon_mime);
   
-  if (href && href[0] != '\0')
-    item->metadata->icon_href = g_strdup (href);
+  item->metadata->icon_href = g_strdup (href);
   
   if (mime_type && mime_type[0] != '\0')
     item->metadata->icon_mime = g_strdup (mime_type);