<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch, branch 0.34.1</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.34.1</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.34.1'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2021-11-03T13:20:49Z</updated>
<entry>
<title>debian: refinalize changelog</title>
<updated>2021-11-03T13:20:49Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-11-03T13:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6858c365956ba26b42721093707e5a57ca8a6b93'/>
<id>urn:sha1:6858c365956ba26b42721093707e5a57ca8a6b93</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NEWS: finalize release date</title>
<updated>2021-11-03T13:20:08Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-11-03T13:20:08Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ba7f26e2a5fbf7f969e778384b8a9114f872cc24'/>
<id>urn:sha1:ba7f26e2a5fbf7f969e778384b8a9114f872cc24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>debian: changelog for 0.34.1-1</title>
<updated>2021-10-31T11:25:25Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-31T11:25:25Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=edd5e15360d9f4df46722bc2399c9dee21429b3a'/>
<id>urn:sha1:edd5e15360d9f4df46722bc2399c9dee21429b3a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>NEWS: start news for 0.34.1</title>
<updated>2021-10-31T11:18:38Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-31T11:18:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b4894de87799179386f6f6a38fd4a6f4e58b1576'/>
<id>urn:sha1:b4894de87799179386f6f6a38fd4a6f4e58b1576</id>
<content type='text'>
</content>
</entry>
<entry>
<title>version: bump to 0.34.1</title>
<updated>2021-10-31T11:11:25Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-31T11:11:25Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0c2edc522bbcf1f70c0173643e776b665b4af90e'/>
<id>urn:sha1:0c2edc522bbcf1f70c0173643e776b665b4af90e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/load_config: deallocate / NULL database on fatal error</title>
<updated>2021-10-30T16:51:50Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-23T13:22:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=fe51c275fcd7107d92b40de511086300ba4060ed'/>
<id>urn:sha1:fe51c275fcd7107d92b40de511086300ba4060ed</id>
<content type='text'>
This fixes a potential memory leak, and makes the behaviour of
notmuch_database_load_config (somewhat) consistent with
n_d_{open,create} with config.
</content>
</entry>
<entry>
<title>lib/load_config: document expectations for db on error, add tests</title>
<updated>2021-10-30T16:49:37Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-23T13:22:37Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8f0b84789d4fda0182e073b68b73160c9b94a4b7'/>
<id>urn:sha1:8f0b84789d4fda0182e073b68b73160c9b94a4b7</id>
<content type='text'>
This is a bit different than n_d_{open,create}_with_config, since
there are several non-zero status codes where we do want to return a
non-NULL database structure.
</content>
</entry>
<entry>
<title>lib/create: fix memory leak, ensure *database=NULL on error</title>
<updated>2021-10-30T16:47:47Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-23T13:22:36Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2ba50b52302dce08068843e0029f9ee935a0d7f3'/>
<id>urn:sha1:2ba50b52302dce08068843e0029f9ee935a0d7f3</id>
<content type='text'>
This code previously relied on _finish_open to free the notmuch struct
on errors (except for the case of database == NULL, which was a
potential double free). When we removed those frees from _finish_open,
we introduced a (small) memory leak.

In this commit, fix the memory leak, and harmonize the on-error
behaviour with n_d_open_with_config.
</content>
</entry>
<entry>
<title>lib/create: document expectations for db on error, add tests</title>
<updated>2021-10-30T16:45:40Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-23T13:22:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f3fcdd2ddac2384c0c1daeffa495ad3ec01bc1af'/>
<id>urn:sha1:f3fcdd2ddac2384c0c1daeffa495ad3ec01bc1af</id>
<content type='text'>
It seems sensible to harmonize the behaviour with
n_d_open_with_config. In this commit we just assert the desired
behaviour.
</content>
</entry>
<entry>
<title>lib/open: fix potential double-free, ensure *database=NULL on error</title>
<updated>2021-10-30T16:43:58Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-10-23T13:22:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=74c4ce6d88bcc643424c5d89cc8d30cd835e46c3'/>
<id>urn:sha1:74c4ce6d88bcc643424c5d89cc8d30cd835e46c3</id>
<content type='text'>
During refactoring for 0.32, the code that set notmuch=NULL on various
errors was moved into _finish_open. This meant that the the code which
relied on that to set *database to NULL on error was no longer
correct. It also introduced a potential double free, since the notmuch
struct was deallocated inside _finish_open (via n_d_destroy).

In this commit we revert to "allocator frees", and leave any cleanup
to the caller of _finish_open. This allows us to get back the
behaviour of setting *database to NULL with a small change. Other
callers of _finish_open will need free notmuch on errors.
</content>
</entry>
</feed>
