diff options
author | George Burgess IV <george.burgess.iv@gmail.com> | 2024-10-30 13:28:32 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-30 12:28:32 -0700 |
commit | b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970 (patch) | |
tree | 65f8b69836953d04abe112a09ed85ad78cbc7447 /lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h | |
parent | d8295e2eeceef37bfd9e0f84918735eff6cfc659 (diff) | |
download | llvm-b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970.zip llvm-b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970.tar.gz llvm-b03c8c4fdda6e58cb1afe3aa90bf9f2df08a7970.tar.bz2 |
libc: strlcpy/strlcat shouldn't bzero the rest of `buf` (#114259)
When running Bionic's testsuite over llvm-libc, tests broke because
e.g.,
```
const char *str = "abc";
char buf[7]{"111111"};
strlcpy(buf, str, 7);
ASSERT_EQ(buf, {'1', '1', '1', '\0', '\0', '\0', '\0'});
```
On my machine (Debian w/ glibc and clang-16), a `printf` loop over `buf`
gets unrolled into a series of const `printf` at compile-time:
```
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", 0);
printf("%d\n", '1');
printf("%d\n", '1');
printf("%d\n", 0);
```
Seems best to match existing precedent here.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.h')
0 files changed, 0 insertions, 0 deletions