Re: [RFC/PATCH] ignore memcmp() overreading in bsearch() callback
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:55:46
Jeff King [off-list ref] writes:
On Mon, Jan 14, 2013 at 03:36:21PM -0800, Junio C Hamano wrote:quoted
It appears that memcmp() uses the usual "one word at a time" comparison and triggers valgrind in a callback of bsearch() used in the refname search. I can easily trigger problems in any script with test_commit (e.g. "sh t0101-at-syntax.sh --valgrind -i -v") without this suppression.Out of curiosity, what platform do you see this on? I can't reproduce on glibc.
Debian GNU/Linux 6.0.6 (squeeze), on Linux 2.6.32-5-amd64.
libc-bin 2.11.3-4
valgrind-3.6.0.SVN-Debian
gcc 4:4.4.5-1
quoted
diff --git a/t/valgrind/default.supp b/t/valgrind/default.supp index 0a6724f..032332f 100644 --- a/t/valgrind/default.supp +++ b/t/valgrind/default.supp@@ -49,3 +49,11 @@ Memcheck:Addr4 fun:copy_ref } + +{ + ignore-memcmp-reading-too-much-in-bsearch-callback + Memcheck:Addr4 + fun:ref_entry_cmp_sslice + fun:bsearch + fun:search_ref_dir +}Given that it is valgrind-clean on my platform, and reading the code I don't see any problems, I think it probably is a false positive, and this suppression makes sense.
Thanks for a sanity check.