Hi, This patch allocates extra 16 bytes for -fsanitize=address so that asan won't report read beyond memory buffer. It is used by bootstrap-asan. OK to install?
Thanks. H.J. --- 2012-11-21 H.J. Lu <hongjiu...@intel.com> PR bootstrap/55380 * charset.c (_cpp_convert_input): Allocate extra 16 bytes for -fsanitize=address if __SANITIZE_ADDRESS__ is defined. diff --git a/libcpp/charset.c b/libcpp/charset.c index cba19a6..dea8bb1 100644 --- a/libcpp/charset.c +++ b/libcpp/charset.c @@ -1729,9 +1729,16 @@ _cpp_convert_input (cpp_reader *pfile, const char *input_charset, iconv_close (input_cset.cd); /* Resize buffer if we allocated substantially too much, or if we - haven't enough space for the \n-terminator. */ + haven't enough space for the \n-terminator. Allocate extra 16 + bytes for -fsanitize=address. */ if (to.len + 4096 < to.asize || to.len >= to.asize) - to.text = XRESIZEVEC (uchar, to.text, to.len + 1); + { +#ifdef __SANITIZE_ADDRESS__ + to.text = XRESIZEVEC (uchar, to.text, to.len + 17); +#else + to.text = XRESIZEVEC (uchar, to.text, to.len + 1); +#endif + } /* If the file is using old-school Mac line endings (\r only), terminate with another \r, not an \n, so that we do not mistake -- 1.7.11.7