diff options
| author | David Bremner <david@tethera.net> | 2021-10-23 10:22:34 -0300 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2021-10-30 13:43:58 -0300 |
| commit | 74c4ce6d88bcc643424c5d89cc8d30cd835e46c3 (patch) | |
| tree | 9b78441dbe31ad597ae0897e581b199c2be92ba4 /bindings/python-cffi/tests/test_message.py | |
| parent | a942cb8ee3f0e20d6cd72d25c432467a5ebfe93c (diff) | |
lib/open: fix potential double-free, ensure *database=NULL on error
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.
Diffstat (limited to 'bindings/python-cffi/tests/test_message.py')
0 files changed, 0 insertions, 0 deletions
