mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
lib/open: fix leaks calling _trial_open
_trial_open can't know if the PATH_ERROR return value will cause the error message to be returned from the library, so it's up the caller to clean up if not.
This commit is contained in:
parent
4e209ca99a
commit
4a8d67e357
1 changed files with 6 additions and 0 deletions
|
@ -280,6 +280,9 @@ _notmuch_choose_xapian_path (void *ctx, const char *database_path,
|
||||||
if (status != NOTMUCH_STATUS_PATH_ERROR)
|
if (status != NOTMUCH_STATUS_PATH_ERROR)
|
||||||
goto DONE;
|
goto DONE;
|
||||||
|
|
||||||
|
if (*message_ptr)
|
||||||
|
free (*message_ptr);
|
||||||
|
|
||||||
notmuch_path = talloc_asprintf (ctx, "%s/.notmuch", database_path);
|
notmuch_path = talloc_asprintf (ctx, "%s/.notmuch", database_path);
|
||||||
status = _db_dir_exists (notmuch_path, message_ptr);
|
status = _db_dir_exists (notmuch_path, message_ptr);
|
||||||
if (status)
|
if (status)
|
||||||
|
@ -648,6 +651,9 @@ notmuch_database_create_with_config (const char *database_path,
|
||||||
goto DONE;
|
goto DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (message)
|
||||||
|
free (message);
|
||||||
|
|
||||||
status = _finish_open (notmuch,
|
status = _finish_open (notmuch,
|
||||||
profile,
|
profile,
|
||||||
NOTMUCH_DATABASE_MODE_READ_WRITE,
|
NOTMUCH_DATABASE_MODE_READ_WRITE,
|
||||||
|
|
Loading…
Reference in a new issue