2012-09-13 [colin] 3.8.1cvs55
authorColin Leroy <colin@colino.net>
Thu, 13 Sep 2012 07:47:28 +0000 (07:47 +0000)
committerColin Leroy <colin@colino.net>
Thu, 13 Sep 2012 07:47:28 +0000 (07:47 +0000)
* src/imap.c
Maybe fix bug #2096, "MEMORY-ERROR w/
Claws-Mail/IMAP and Lotus Domino". Use
correct types for start/end and test if
start is indeed before end.

ChangeLog
PATCHSETS
configure.ac
src/imap.c

index 0d4bc82..f8c57a7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-09-13 [colin]     3.8.1cvs55
+
+       * src/imap.c
+               Maybe fix bug #2096, "MEMORY-ERROR w/ 
+               Claws-Mail/IMAP and Lotus Domino". Use
+               correct types for start/end and test if
+               start is indeed before end.
+
 2012-09-12 [mones]     3.8.1cvs54
 
        * src/prefs_other.c
index 2109416..901645b 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.60.2.149 -r 1.60.2.150 src/addressbook.c;  cvs diff -u -r 1.6.10.27 -r 1.6.10.28 src/addrharvest.c;  cvs diff -u -r 1.28.2.49 -r 1.28.2.50 src/addrindex.c;  cvs diff -u -r 1.13.2.22 -r 1.13.2.23 src/addritem.c;  cvs diff -u -r 1.382.2.611 -r 1.382.2.612 src/compose.c;  cvs diff -u -r 1.1.2.28 -r 1.1.2.29 src/edittags.c;  cvs diff -u -r 1.213.2.210 -r 1.213.2.211 src/folder.c;  cvs diff -u -r 1.179.2.259 -r 1.179.2.260 src/imap.c;  cvs diff -u -r 1.149.2.109 -r 1.149.2.110 src/inc.c;  cvs diff -u -r 1.12.2.25 -r 1.12.2.26 src/ldif.c;  cvs diff -u -r 1.274.2.350 -r 1.274.2.351 src/mainwindow.c;  cvs diff -u -r 1.28.2.52 -r 1.28.2.53 src/mbox.c;  cvs diff -u -r 1.83.2.194 -r 1.83.2.195 src/mimeview.c;  cvs diff -u -r 1.6.10.21 -r 1.6.10.22 src/mutt.c;  cvs diff -u -r 1.1.2.27 -r 1.1.2.28 src/partial_download.c;  cvs diff -u -r 1.1.4.78 -r 1.1.4.79 src/prefs_filtering_action.c;  cvs diff -u -r 1.30.2.73 -r 1.30.2.74 src/prefs_toolbar.c;  cvs diff -u -r 1.1.2.38 -r 1.1.2.39 src/printing.c;  cvs diff -u -r 1.47.2.58 -r 1.47.2.59 src/procheader.c;  cvs diff -u -r 1.49.2.149 -r 1.49.2.150 src/procmime.c;  cvs diff -u -r 1.150.2.126 -r 1.150.2.127 src/procmsg.c;  cvs diff -u -r 1.395.2.452 -r 1.395.2.453 src/summaryview.c;  cvs diff -u -r 1.96.2.247 -r 1.96.2.248 src/textview.c;  cvs diff -u -r 1.36.2.200 -r 1.36.2.201 src/common/utils.c;  cvs diff -u -r 1.1.4.119 -r 1.1.4.120 src/etpan/imap-thread.c;  cvs diff -u -r 1.9.2.80 -r 1.9.2.81 src/gtk/gtkaspell.c;  cvs diff -u -r 1.1.2.73 -r 1.1.2.74 src/plugins/pgpcore/sgpgme.c;  ) > 3.8.1cvs52.patchset
 ( cvs diff -u -r 1.150.2.127 -r 1.150.2.128 src/procmsg.c;  ) > 3.8.1cvs53.patchset
 ( cvs diff -u -r 1.1.2.46 -r 1.1.2.47 src/prefs_other.c;  ) > 3.8.1cvs54.patchset
+( cvs diff -u -r 1.179.2.260 -r 1.179.2.261 src/imap.c;  ) > 3.8.1cvs55.patchset
index 4857c9d..f1373f5 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=8
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=54
+EXTRA_VERSION=55
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index b426f40..10585d9 100644 (file)
@@ -1713,7 +1713,7 @@ static GSList *flatten_mailimap_set(struct mailimap_set * set)
 {
        GSList *result = NULL;
        clistiter *list;
-       int start, end, t;
+       guint32 start, end, t;
        GSList *cur;
 
        if (!set || !set->set_list)
@@ -1723,8 +1723,10 @@ static GSList *flatten_mailimap_set(struct mailimap_set * set)
                struct mailimap_set_item *item = (struct mailimap_set_item *)clist_content(list);
                start = item->set_first;
                end = item->set_last;
-               for (t = start; t <= end; t++) {
-                       result = g_slist_prepend(result, GINT_TO_POINTER(t));
+               if (start <= end) {
+                       for (t = start; t <= end; t++) {
+                               result = g_slist_prepend(result, GINT_TO_POINTER(t));
+                       }
                }
        }
        result = g_slist_reverse(result);
@@ -5281,9 +5283,6 @@ static void imap_flags_hash_from_lep_uid_flags_tab(carray * list,
                                                   GHashTable * tags_hash)
 {
        unsigned int i;
-       GSList * result;
-       
-       result = NULL;
        
        for(i = 0 ; i < carray_count(list) ; i += 3) {
                uint32_t * puid;