From: Adhemerval Zanella Date: Tue, 6 May 2025 13:43:36 +0000 (+0000) Subject: math: Fix UB in flt-32 nearbyint X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a933c9bf75088406677d72da03604669361e0d4;p=thirdparty%2Fglibc.git math: Fix UB in flt-32 nearbyint UBSAN: Undefined behaviour in ../sysdeps/ieee754/flt-32/s_nearbyintf.c:53:4 left shift of 1 by 31 cannot be represented in type 'int' --- diff --git a/sysdeps/ieee754/flt-32/s_nearbyintf.c b/sysdeps/ieee754/flt-32/s_nearbyintf.c index 5dd0e8f8af..8ae80738fc 100644 --- a/sysdeps/ieee754/flt-32/s_nearbyintf.c +++ b/sysdeps/ieee754/flt-32/s_nearbyintf.c @@ -34,7 +34,8 @@ __nearbyintf (float x) -8.3886080000e+06, /* 0xcb000000 */ }; fenv_t env; - int32_t i0, j0, sx; + int32_t i0, j0; + uint32_t sx; float w, t; GET_FLOAT_WORD (i0, x); sx = (i0 >> 31) & 1;