2008-09-05 [colin] 3.5.0cvs91
authorColin Leroy <colin@colino.net>
Fri, 5 Sep 2008 19:05:43 +0000 (19:05 +0000)
committerColin Leroy <colin@colino.net>
Fri, 5 Sep 2008 19:05:43 +0000 (19:05 +0000)
* src/procmime.c
Maybe fix bug 1711, 'Save-as attachment crashes'
Possibly wrong free() due to pointer shifting

ChangeLog
PATCHSETS
configure.ac
src/procmime.c

index a266e15c2ad225bfbc91f131f5b2faafb8037796..94f6b36bb5a4f21de13e07f4a5a81c1698685584 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-09-05 [colin]     3.5.0cvs91
+
+       * src/procmime.c
+               Maybe fix bug 1711, 'Save-as attachment crashes'
+               Possibly wrong free() due to pointer shifting
+
 2008-09-05 [colin]     3.5.0cvs90
 
        * src/compose.c
index ae65340af832a88546b021e28eeb920194168c94..90f11dd30073a97e61323fae95417a507eb51a77 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.179.2.226 -r 1.179.2.227 src/imap.c;  cvs diff -u -r 1.395.2.387 -r 1.395.2.388 src/summaryview.c;  cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/common/tags.c;  cvs diff -u -r 1.1.4.103 -r 1.1.4.104 src/etpan/imap-thread.c;  cvs diff -u -r 1.1.4.24 -r 1.1.4.25 src/etpan/imap-thread.h;  ) > 3.5.0cvs88.patchset
 ( cvs diff -u -r 1.395.2.388 -r 1.395.2.389 src/summaryview.c;  ) > 3.5.0cvs89.patchset
 ( cvs diff -u -r 1.382.2.471 -r 1.382.2.472 src/compose.c;  ) > 3.5.0cvs90.patchset
+( cvs diff -u -r 1.49.2.114 -r 1.49.2.115 src/procmime.c;  ) > 3.5.0cvs91.patchset
index b58dab6af0c10009521249169a955281d359720d..6a463410f99211d3a25f42cb8ede9e270127afef 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=5
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=90
+EXTRA_VERSION=91
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 016ae67721af42f5257d093e62254e30ee04c283..a23b95f9419c2cc2f014fdca72f006a16d749041 100644 (file)
@@ -1585,7 +1585,7 @@ static void parse_parameters(const gchar *parameters, GHashTable *table)
        param = params;
        next = params;
        for (; next != NULL; param = next) {
-               gchar *attribute, *value, *tmp, *down_attr;
+               gchar *attribute, *value, *tmp, *down_attr, *orig_down_attr;
                gint len;
                gboolean convert = FALSE;
 
@@ -1608,7 +1608,8 @@ static void parse_parameters(const gchar *parameters, GHashTable *table)
                        value++;
 
                down_attr = g_utf8_strdown(attribute, -1);
-               
+               orig_down_attr = down_attr;
+       
                len = strlen(down_attr);
                if (down_attr[len - 1] == '*') {
                        gchar *srcpos, *dstpos, *endpos;
@@ -1676,7 +1677,7 @@ static void parse_parameters(const gchar *parameters, GHashTable *table)
 
                if (g_hash_table_lookup(table, down_attr) == NULL)
                        g_hash_table_insert(table, g_strdup(down_attr), g_strdup(value));
-               g_free(down_attr);
+               g_free(orig_down_attr);
        }
 
        for (cur = concatlist; cur != NULL; cur = g_slist_next(cur)) {