Message ID | 20200204152444.15633-1-murphyp@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Series | ldbl-128ibm-compat: set PRINTF_CHK flag in {,v}sprintf_chk | expand |
"Paul E. Murphy" <murphyp@linux.vnet.ibm.com> writes: > 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 <tuliom@linux.ibm.com>
Pushed. Thank you for reviewing. On 2/10/20 1:55 PM, Tulio Magno Quites Machado Filho wrote: > "Paul E. Murphy" <murphyp@linux.vnet.ibm.com> writes: > >> 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 <tuliom@linux.ibm.com> >
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c b/sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c index 207c1c62ad..f52e17fdc7 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 2c32735f3c..c6130b4f5f 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 ();