From: Paul E. Murphy Date: Tue, 4 Feb 2020 15:21:19 +0000 (-0600) Subject: ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chk X-Git-Tag: glibc-2.32~688 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd7965bd970b0a298e734acc9dafae0a5db5f712;p=thirdparty%2Fglibc.git ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chk This should be unconditionally set to match the common implementation, and fixes multiple test failures related to sprintf. Reviewed-by: Tulio Magno Quites Machado Filho --- diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c index 207c1c62ad0..f52e17fdc76 100644 --- a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c +++ b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c @@ -30,6 +30,10 @@ ___ieee128_sprintf_chk (char *s, int flag, size_t slen, if (flag > 0) mode |= PRINTF_FORTIFY; + /* Regardless of the value of flag, let __vsprintf_internal know that + this is a call from *printf_chk. */ + mode |= PRINTF_CHK; + if (slen == 0) __chk_fail (); diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c index 2c32735f3c2..c6130b4f5f6 100644 --- a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c +++ b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c @@ -26,6 +26,10 @@ ___ieee128_vsprintf_chk (char *string, int flag, size_t slen, if (flag > 0) mode |= PRINTF_FORTIFY; + /* Regardless of the value of flag, let __vsprintf_internal know that + this is a call from *printf_chk. */ + mode |= PRINTF_CHK; + if (slen == 0) __chk_fail ();