[gmime] Fixed g_mime_header_list_register_writer() to not double-free the hash table key



commit 3a81cdab53e52bd7714a5299fee65405b8e34abf
Author: Jeffrey Stedfast <jeff xamarin com>
Date:   Fri Jul 18 08:47:18 2014 -0400

    Fixed g_mime_header_list_register_writer() to not double-free the hash table key
    
    2014-07-18  Jeffrey Stedfast  <fejj gnome org>
    
        * gmime/gmime-header.c (g_mime_header_list_register_writer):
        g_hash_table_remove() will g_free() the key for us, so don't do it
        ourselves (will result in a double-free).

 ChangeLog            |    6 ++++++
 gmime/gmime-header.c |    6 +-----
 2 files changed, 7 insertions(+), 5 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 9788395..b749a09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-07-18  Jeffrey Stedfast  <fejj gnome org>
+
+       * gmime/gmime-header.c (g_mime_header_list_register_writer):
+       g_hash_table_remove() will g_free() the key for us, so don't do it
+       ourselves (will result in a double-free).
+
 2014-07-17  Jeffrey Stedfast  <fejj gnome org>
 
        * gmime/gmime-table-private.h: Increased GMIME_FOLD_LEN to 78.
diff --git a/gmime/gmime-header.c b/gmime/gmime-header.c
index e73e530..e7b18db 100644
--- a/gmime/gmime-header.c
+++ b/gmime/gmime-header.c
@@ -987,11 +987,7 @@ g_mime_header_list_register_writer (GMimeHeaderList *headers, const char *name,
        g_return_if_fail (headers != NULL);
        g_return_if_fail (name != NULL);
        
-       if (g_hash_table_lookup (headers->writers, name)) {
-               g_hash_table_lookup_extended (headers->writers, name, &okey, &oval);
-               g_hash_table_remove (headers->writers, name);
-               g_free (okey);
-       }
+       g_hash_table_remove (headers->writers, name);
        
        if (writer)
                g_hash_table_insert (headers->writers, g_strdup (name), writer);


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