The C library uses SSE instructions to make strlen (among others) faster, loading 4 bytes at a time and reading past the end of the allocated memory. This read is safe and when the strlen function is inlined, it is (obviously) not replaced by valgrind, which reports a false-possitive.
Tell valgrind to ignore this particular error, as the read is, in fact, safe.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de> --- t/valgrind/default.supp | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
Show changes to t/valgrind/default.supp +6 −0
diff --git a/t/valgrind/default.supp b/t/valgrind/default.supp index 9e013fa..327478c 100644 --- a/t/valgrind/default.supp +++ b/t/valgrind/default.supp @@ -43,3 +43,9 @@ fun:write_buffer fun:write_loose_object } + +{ + ignore-sse-strlen-invalid-read-size + Memcheck:Addr4 + fun:copy_ref +} \ No newline at end of file
-- 1.7.4.1