2008-05-15 [colin] 3.4.0cvs39
authorColin Leroy <colin@colino.net>
Thu, 15 May 2008 16:57:15 +0000 (16:57 +0000)
committerColin Leroy <colin@colino.net>
Thu, 15 May 2008 16:57:15 +0000 (16:57 +0000)
* src/imap.c
Fix double free when STARTTLS fails (for
example due to refusing the certificate)

ChangeLog
PATCHSETS
configure.ac
src/imap.c

index 845f43d1325d067dbf1e0079773ff5eb1bd79f8a..5ea10867833d5730eeb244d0fd09934b4bcebc8f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-05-15 [colin]     3.4.0cvs39
+
+       * src/imap.c
+               Fix double free when STARTTLS fails (for
+               example due to refusing the certificate)
+
 2008-05-15 [paul]      3.4.0cvs38
 
        * manual/advanced.xml
index 24450abcfc849f06b695fcd1df45e3b5e9c9f04c..5e6b122028d4d26ea9164f58d280600d5152fdd8 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.115.2.194 -r 1.115.2.195 src/main.c;  cvs diff -u -r 1.274.2.240 -r 1.274.2.241 src/mainwindow.c;  cvs diff -u -r 1.39.2.44 -r 1.39.2.45 src/mainwindow.h;  ) > 3.4.0cvs36.patchset
 ( cvs diff -u -r 1.1.2.47 -r 1.1.2.48 manual/advanced.xml;  cvs diff -u -r 1.1.2.21 -r 1.1.2.22 src/prefs_send.c;  ) > 3.4.0cvs37.patchset
 ( cvs diff -u -r 1.1.2.48 -r 1.1.2.49 manual/advanced.xml;  ) > 3.4.0cvs38.patchset
+( cvs diff -u -r 1.179.2.217 -r 1.179.2.218 src/imap.c;  ) > 3.4.0cvs39.patchset
index 193044d7e38e5cffcc21abe24177febf115fb479..bf837b5936cf8af84f2e43b8efe0a655ad87b8bf 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=4
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=38
+EXTRA_VERSION=39
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index eec26bfa75fa251e52f3ffb45bc22baf08a6caf2..0762e1d2929fbc8cecb4027bb629cd3f8bf9c2e8 100644 (file)
@@ -1128,8 +1128,10 @@ static IMAPSession *imap_session_new(Folder * folder,
                ok = imap_cmd_starttls(session);
                if (ok != MAILIMAP_NO_ERROR) {
                        log_warning(LOG_PROTOCOL, _("Can't start TLS session.\n"));
-                       SESSION(session)->sock = NULL;
-                       session_destroy(SESSION(session));
+                       if (!is_fatal(ok)) {
+                               SESSION(session)->sock = NULL;
+                               session_destroy(SESSION(session));
+                       }
                        return NULL;
                }