mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-28 21:54:10 +01:00
lib/message.cc: fix Coverity finding (use after free)
The object where pointer to `data` was received was deleted before it was used in _notmuch_string_list_append(). Relevant Coverity messages follow: 3: extract Assigning: data = std::__cxx11::string(message->doc.()).c_str(), which extracts wrapped state from temporary of type std::__cxx11::string. 4: dtor_free The internal representation of temporary of type std::__cxx11::string is freed by its destructor. 5: use after free: Wrapper object use after free (WRAPPER_ESCAPE) Using internal representation of destroyed object local data.
This commit is contained in:
parent
eafa8c62b3
commit
06adc27668
1 changed files with 2 additions and 2 deletions
|
@ -870,9 +870,9 @@ _notmuch_message_ensure_filename_list (notmuch_message_t *message)
|
||||||
*
|
*
|
||||||
* It would be nice to do the upgrade of the document directly
|
* It would be nice to do the upgrade of the document directly
|
||||||
* here, but the database is likely open in read-only mode. */
|
* here, but the database is likely open in read-only mode. */
|
||||||
const char *data;
|
|
||||||
|
|
||||||
data = message->doc.get_data ().c_str ();
|
std::string datastr = message->doc.get_data ();
|
||||||
|
const char *data = datastr.c_str ();
|
||||||
|
|
||||||
if (data == NULL)
|
if (data == NULL)
|
||||||
INTERNAL_ERROR ("message with no filename");
|
INTERNAL_ERROR ("message with no filename");
|
||||||
|
|
Loading…
Reference in a new issue