From: Jonathan Nieder Date: Wed, 16 Mar 2011 10:52:14 GMT Subject: Re: [PATCH] valgrind: ignore SSE-based strlen invalid reads Message-ID: <20110316105214.GB8277@elie> In-Reply-To: <1300272453-25891-1-git-send-email-cmn@elego.de> Carlos Martín Nieto wrote: > The GNU C Library (glibc) 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. This still makes no sense to me. How is it possible to inline a function from glibc? When I look in /usr/include/string.h, I see extern size_t strlen (__const char *__s) __THROW __attribute_pure__ __nonnull ((1)); > Tell valgrind to ignore this particular error, as the read is, in > fact, safe. I'm happy to see a workaround. I would be even happier if it came with documentation about which versions of valgrind need it. Thanks again. Jonathan