<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/thread.cc, branch 0.26_rc0</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.26_rc0</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.26_rc0'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2017-12-21T13:22:30Z</updated>
<entry>
<title>lib: return "" rather than NULL from notmuch_thread_get_authors</title>
<updated>2017-12-21T13:22:30Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-12-15T02:29:57Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7cfa1c69610bcf15fb47868131d3d9102f899225'/>
<id>urn:sha1:7cfa1c69610bcf15fb47868131d3d9102f899225</id>
<content type='text'>
The current behaviour is at best under-documented. The modified test in
T470-missing-headers.sh previously relied on printf doing the right
thing with NULL, which seems icky.

The use of talloc_strdup here is probably overkill, but it avoids
having to enforce that thread-&gt;authors is never mutated outside
_resolve_thread_authors_string.
</content>
</entry>
<entry>
<title>lib: convert notmuch_bool_t to stdbool internally</title>
<updated>2017-10-10T01:27:16Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-10-07T08:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=008a5e92eb157e2bb8622cb2fbf644deba5ba4b4'/>
<id>urn:sha1:008a5e92eb157e2bb8622cb2fbf644deba5ba4b4</id>
<content type='text'>
C99 stdbool turned 18 this year. There really is no reason to use our
own, except in the library interface for backward
compatibility. Convert the lib internally to stdbool.
</content>
</entry>
<entry>
<title>lib: add notmuch_thread_get_total_files</title>
<updated>2017-08-02T01:17:47Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-06-04T12:32:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=50340bcb78586dc63b5e0914563665b30e8f88d0'/>
<id>urn:sha1:50340bcb78586dc63b5e0914563665b30e8f88d0</id>
<content type='text'>
This is relatively inexpensive in terms of run time and implementation
cost as we are already traversing the list of messages in a thread.
</content>
</entry>
<entry>
<title>build: visibility=default for library structs is no longer needed</title>
<updated>2017-05-13T11:38:18Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-05-10T19:42:12Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=30c475c1ef3d6823ed9ab0affc30328726c5240f'/>
<id>urn:sha1:30c475c1ef3d6823ed9ab0affc30328726c5240f</id>
<content type='text'>
Commit d5523ead90b6 ("Mark some structures in the library interface
with visibility=default attribute.") fixed some mixed visibility
issues with structs. With the symbol default visibility reversed, this
is no longer a problem.
</content>
</entry>
<entry>
<title>lib: replace deprecated n_q_search_messages with status returning version</title>
<updated>2017-03-22T11:35:07Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-26T21:21:32Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=86cbd215eb67d7b996c977352a50e70c101cb641'/>
<id>urn:sha1:86cbd215eb67d7b996c977352a50e70c101cb641</id>
<content type='text'>
This function was deprecated in notmuch 0.21.  We re-use the name for
a status returning version, and deprecate the _st name.
</content>
</entry>
<entry>
<title>Use https instead of http where possible</title>
<updated>2016-06-05T11:32:17Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2016-06-02T16:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6a833a6e83865f6999707cc30768d07e1351c2cb'/>
<id>urn:sha1:6a833a6e83865f6999707cc30768d07e1351c2cb</id>
<content type='text'>
Many of the external links found in the notmuch source can be resolved
using https instead of http.  This changeset addresses as many as i
could find, without touching the e-mail corpus or expected outputs
found in tests.
</content>
</entry>
<entry>
<title>lib: migrate thread.cc to new query_search API</title>
<updated>2015-10-05T22:53:53Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-09-27T15:32:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=378ba492a634db5b841f2454991239a897f830b2'/>
<id>urn:sha1:378ba492a634db5b841f2454991239a897f830b2</id>
<content type='text'>
here we rely on thread_id_query being attached to the local talloc
context, so no new cleanup code is needed.
</content>
</entry>
<entry>
<title>lib: note remaining uses of deprecated message search API</title>
<updated>2015-09-04T11:08:18Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-06-07T15:01:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=110694b00b79793b3c09a0349c0ff7608df551d6'/>
<id>urn:sha1:110694b00b79793b3c09a0349c0ff7608df551d6</id>
<content type='text'>
The two remaining cases in the lib seem to require more than a simple
replacement of the old call, with the new call plus a check of the
return value.
</content>
</entry>
<entry>
<title>lib: Fix use after free</title>
<updated>2015-01-19T07:15:14Z</updated>
<author>
<name>Todd</name>
<email>todd@electricoding.com</email>
</author>
<published>2015-01-17T15:51:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ef5b4947d8eaea745764e11fe346f67ca2e4a988'/>
<id>urn:sha1:ef5b4947d8eaea745764e11fe346f67ca2e4a988</id>
<content type='text'>
_thread_set_subject_from_message sometimes replaces the subject, making the
cur_subject point to free'd memory

==6550== ERROR: AddressSanitizer: heap-use-after-free on address 0x601a0000bec0 at pc 0x4464a4 bp 0x7fffa40be910 sp 0x7fffa40be908
READ of size 1 at 0x601a0000bec0 thread T0
    #0 0x4464a3 in _thread_add_matched_message /home/todd/.apps/notmuch/lib/thread.cc:369
    #1 0x443c2c in notmuch_threads_get /home/todd/.apps/notmuch/lib/query.cc:496
    #2 0x41d947 in do_search_threads /home/todd/.apps/notmuch/notmuch-search.c:131
    #3 0x40a3fe in main /home/todd/.apps/notmuch/notmuch.c:345
    #4 0x7f4e535b4ec4 in __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287
    #5 0x40abe6 in _start ??:?
0x601a0000bec0 is located 96 bytes inside of 134-byte region [0x601a0000be60,0x601a0000bee6)
freed by thread T0 here:
    #0 0x7f4e54e6933a in __interceptor_free ??:?
    #1 0x7f4e54482fab in _talloc_free ??:?
previously allocated by thread T0 here:
    #0 0x7f4e54e6941a in malloc ??:?
    #1 0x7f4e54485b5d in talloc_strdup ??:?
</content>
</entry>
<entry>
<title>lib: Fix potential invalid read past an empty string</title>
<updated>2015-01-19T07:15:05Z</updated>
<author>
<name>Todd</name>
<email>todd@electricoding.com</email>
</author>
<published>2015-01-17T15:51:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0fc788460276f0e08c3ccae0a779f96125624a8d'/>
<id>urn:sha1:0fc788460276f0e08c3ccae0a779f96125624a8d</id>
<content type='text'>
==22884== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x601600008291 at pc 0x7ff6295680e5 bp 0x7fff4ab9aa40 sp 0x7fff4ab9aa08
READ of size 1 at 0x601600008291 thread T0
    #0 0x7ff6295680e4 in __interceptor_strcmp ??:?
    #1 0x44763b in _thread_add_message /home/todd/.apps/notmuch/lib/thread.cc:255
    #2 0x4459e8 in notmuch_threads_get /home/todd/.apps/notmuch/lib/query.cc:496
    #3 0x41e2a7 in do_search_threads /home/todd/.apps/notmuch/notmuch-search.c:131
    #4 0x40a408 in main /home/todd/.apps/notmuch/notmuch.c:345
    #5 0x7ff627cb9ec4 in __libc_start_main /build/buildd/eglibc-2.19/csu/libc-start.c:287
    #6 0x40abf3 in _start ??:?
0x601600008291 is located 0 bytes to the right of 97-byte region [0x601600008230,0x601600008291)
allocated by thread T0 here:
    #0 0x7ff62956e41a in malloc ??:?
    #1 0x7ff628b8ab5d in talloc_strdup ??:?
</content>
</entry>
</feed>
