On Wed, Dec 22, 2021 at 09:41:06PM +0100, Bernhard Reutner-Fischer wrote: > On 22 December 2021 19:19:12 CET, Azat Khuzhin via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: > >Fixes: b667dd7017a ("Libsanitizer merge from trunk r368656.") > >Refs: https://reviews.llvm.org/D116176 > >--- > > .../sanitizer_common/sanitizer_common_interceptors.inc | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > >diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc > >b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc > >index abb38ccfa15..60b0545a943 100644 > >--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc > >+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc > >@@ -7858,12 +7858,13 @@ INTERCEPTOR(void, setbuf, __sanitizer_FILE *stream, > >char *buf) { > > unpoison_file(stream); > > } > > > >-INTERCEPTOR(void, setbuffer, __sanitizer_FILE *stream, char *buf, int mode) > >{ > >+INTERCEPTOR(void, setbuffer, __sanitizer_FILE *stream, char *buf, > >+ SIZE_T size) { > > void *ctx; > >- COMMON_INTERCEPTOR_ENTER(ctx, setbuffer, stream, buf, mode); > >+ COMMON_INTERCEPTOR_ENTER(ctx, setbuffer, stream, buf, size); > > REAL(setbuffer)(stream, buf, mode); > > Where does mode come from after this patch?
setbuffer() does not accept mode, it simply do not change it. Only setvbuf() can change the mode. > thanks, > > > if (buf) { > >- COMMON_INTERCEPTOR_WRITE_RANGE(ctx, buf, __sanitizer_bufsiz); > >+ COMMON_INTERCEPTOR_WRITE_RANGE(ctx, buf, size); > > } > > if (stream) > > unpoison_file(stream); >