]> git.ipfire.org Git - thirdparty/git.git/commit - diffcore-pickaxe.c
regex: use regexec_buf()
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Wed, 21 Sep 2016 18:24:14 +0000 (20:24 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 21 Sep 2016 20:56:15 +0000 (13:56 -0700)
commitb7d36ffca02c23f545d6e098d78180e6e72dfd8d
treeee20baae52d14d948c581efdbf30aff6fa2ee62e
parent2f8952250a84313b74f96abb7b035874854cf202
regex: use regexec_buf()

The new regexec_buf() function operates on buffers with an explicitly
specified length, rather than NUL-terminated strings.

We need to use this function whenever the buffer we want to pass to
regexec(3) may have been mmap(2)ed (and is hence not NUL-terminated).

Note: the original motivation for this patch was to fix a bug where
`git diff -G <regex>` would crash. This patch converts more callers,
though, some of which allocated to construct NUL-terminated strings,
or worse, modified buffers to temporarily insert NULs while calling
regexec(3).  By converting them to use regexec_buf(), the code has
become much cleaner.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c
diffcore-pickaxe.c
grep.c
t/t4062-diff-pickaxe.sh
xdiff-interface.c