Hide Forgot
+++ This bug was initially created as a clone of Bug #2091549 +++ Zdenek Sojka reported that strncpy does not always clear the destination buffer. The upstream bug gives the following reproducer: #include <string.h> #include <stdlib.h> #define N 3 char a[N]; char c[N]; int main (void) { __asm__ volatile ("xxspltib 18, 0xf":::"vs18"); strncpy (c, a, N); for (unsigned i = 0; i < N; i++) if (c[i]) abort (); return 0; }
The fix has been applied upstream for glibc 2.36 and has been backported to all affected versions (glibc >= 2.33). Commit for glibc 2.36: https://sourceware.org/git/?p=glibc.git;a=commit;h=0218463dd8265ed937622f88ac68c7d984fe0cfc Commit for glibc 2.33: https://sourceware.org/git/?p=glibc.git;a=commit;h=82c7441f04e3c2a653ee29672731e040a1799c6b
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (glibc bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:7684