diff options
author | Liubov Dmitrieva <liubov.dmitrieva@gmail.com> | 2011-12-23 08:50:39 -0500 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-12-23 08:50:39 -0500 |
commit | c044cf14b0238b6e866f4ef5f8907d6680230212 (patch) | |
tree | 174941df1d04f8fd18b0cc93401b50a4a97d7a88 /sysdeps/i386/i686/multiarch/stpcpy.S | |
parent | d455f537be05dac05b8fc67e58f13fd85d553c74 (diff) | |
download | glibc-c044cf14b0238b6e866f4ef5f8907d6680230212.tar.gz glibc-c044cf14b0238b6e866f4ef5f8907d6680230212.tar.xz glibc-c044cf14b0238b6e866f4ef5f8907d6680230212.zip |
Fix wrong copying processing for last bytes in x86-32 wcscpy
Wrong copy algorithm for last bytes, not thread safety. In some particular cases it uses the destination memory beyond the string end for 16-byte load, puts changes into that part that is relevant to destination string and writes whole 16-byte chunk into memory. I have a test case where the memory beyond the string end contains malloc/free data, that appear corrupted in case free() updates it in between the 16-byte read and 16-byte write.
Diffstat (limited to 'sysdeps/i386/i686/multiarch/stpcpy.S')
0 files changed, 0 insertions, 0 deletions