Merge tag 'debian/0.29.3-1'
authorDavid Bremner <david@tethera.net>
Wed, 27 Nov 2019 12:45:43 +0000 (08:45 -0400)
committerDavid Bremner <david@tethera.net>
Wed, 27 Nov 2019 12:45:43 +0000 (08:45 -0400)
notmuch release 0.29.3-1 for unstable (sid) [dgit]

[dgit distro=debian no-split --quilt=linear]

NEWS
bindings/python/notmuch/version.py
debian/changelog
lib/config.cc
version

diff --git a/NEWS b/NEWS
index c416a37388820731d78d08bad64b591becd353e1..66bb69f1558852662c723a5994785a2e5305bf5d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,18 @@
+Notmuch 0.29.3 (2019-11-27)
+===========================
+
+General
+-------
+
+Fix for use-after-free in notmuch_config_list_{key,val}.
+
+Fix for double close of file in notmuch-dump.
+
+Debian
+------
+
+Drop python2 support from shipped debian packaging.
+
 Notmuch 0.29.2 (2019-10-19)
 ===========================
 
index 1bde97e57d4d171464830bc576c3b8761dac7f32..e688b56520f7a4cef5ac998820a005a0417a6b7f 100644 (file)
@@ -1,3 +1,3 @@
 # this file should be kept in sync with ../../../version
-__VERSION__ = '0.29.2'
+__VERSION__ = '0.29.3'
 SOVERSION = '5'
index 92b974494b0f0ce61ca0f70c125ce5935c028862..4f7457cd7f588e6d3a821bf1530cc1f8742c8d6f 100644 (file)
@@ -1,3 +1,11 @@
+notmuch (0.29.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+    - fix use-after-free bug in libnotmuch
+    - fix double close of file in "notmuch dump"
+
+ -- David Bremner <bremner@debian.org>  Wed, 27 Nov 2019 08:19:57 -0400
+
 notmuch (0.29.2-2) experimental; urgency=medium
 
   * Drop python-notmuch binary package.
index 8ee4da01a47dee0c6bf6cd4f3f42cd29854a9e48..292f0288d7ef2f95e171efe9bf63b4bd8fe42c64 100644 (file)
@@ -150,13 +150,17 @@ notmuch_config_list_valid (notmuch_config_list_t *metadata)
     return true;
 }
 
+static inline char * _key_from_iterator (notmuch_config_list_t *list) {
+    return talloc_strdup (list, (*list->iterator).c_str () + CONFIG_PREFIX.length ());
+}
+
 const char *
 notmuch_config_list_key (notmuch_config_list_t *list)
 {
     if (list->current_key)
        talloc_free (list->current_key);
 
-    list->current_key = talloc_strdup (list, (*list->iterator).c_str () + CONFIG_PREFIX.length ());
+    list->current_key = _key_from_iterator (list);
 
     return list->current_key;
 }
@@ -166,7 +170,7 @@ notmuch_config_list_value (notmuch_config_list_t *list)
 {
     std::string strval;
     notmuch_status_t status;
-    const char *key = notmuch_config_list_key (list);
+    char *key = _key_from_iterator (list);
 
     /* TODO: better error reporting?? */
     status = _metadata_value (list->notmuch, key, strval);
@@ -177,6 +181,7 @@ notmuch_config_list_value (notmuch_config_list_t *list)
        talloc_free (list->current_val);
 
     list->current_val = talloc_strdup (list, strval.c_str ());
+    talloc_free (key);
     return list->current_val;
 }
 
diff --git a/version b/version
index 20f068700e3f4a6b8abd11cad65f7451d4e07527..5540b6e009b9bd3a28dca918eef3d6187e15fad8 100644 (file)
--- a/version
+++ b/version
@@ -1 +1 @@
-0.29.2
+0.29.3