lib/message.cc: fix Coverity finding (use after free)
authorTomi Ollila <tomi.ollila@iki.fi>
Fri, 17 Mar 2017 22:28:48 +0000 (00:28 +0200)
committerDavid Bremner <david@tethera.net>
Sun, 19 Mar 2017 12:36:51 +0000 (09:36 -0300)
commit930920d5106e01d511dc339171ec3254e3d8771e
tree70d4682c4a4781b52a22d5af3db098491026d165
parent770d00a8955b2ad8be9daf2923e31221c4847043
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.

(cherry picked from commit 06adc276682d1d5f73d78df2e898ad4191eb4499)
lib/message.cc