diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-12-18 22:54:01 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-12-18 22:54:01 +0000 |
commit | 5983df320af003a10ab2b965db1eecaca92c7056 (patch) | |
tree | a7ba76d7810dfdf889917004cf5db6bc2e3a5157 | |
parent | 1421f39b7eadd3b5fbd2a3f2da1fc006b69fbc42 (diff) | |
download | glibc-5983df320af003a10ab2b965db1eecaca92c7056.zip glibc-5983df320af003a10ab2b965db1eecaca92c7056.tar.gz glibc-5983df320af003a10ab2b965db1eecaca92c7056.tar.bz2 |
Fix truncation warnings in posix/tst-glob_symlinks.c.
The test posix/tst-glob_symlinks.c fails to build with GCC mainline:
tst-glob_symlinks.c: In function 'do_test':
tst-glob_symlinks.c:124:30: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
snprintf (buf, sizeof buf, "%s?", dangling_link);
^~~~~
tst-glob_symlinks.c:124:3: note: 'snprintf' output between 2 and 4097 bytes into a destination of size 4096
snprintf (buf, sizeof buf, "%s?", dangling_link);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tst-glob_symlinks.c:128:30: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
snprintf (buf, sizeof buf, "%s*", dangling_link);
^~~~~
tst-glob_symlinks.c:128:3: note: 'snprintf' output between 2 and 4097 bytes into a destination of size 4096
snprintf (buf, sizeof buf, "%s*", dangling_link);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This patch fixes the test to avoid such truncation warnings by
increasing the buffer in question by one byte, to ensure it can hold
any possible result of %s? or %s* formats where %s comes from a buffer
of size PATH_MAX.
Tested compilation with build-many-glibcs.py for aarch64-linux-gnu.
* posix/tst-glob_symlinks.c (do_test): Increase size of buf.
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | posix/tst-glob_symlinks.c | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -1,5 +1,7 @@ 2017-12-18 Joseph Myers <joseph@codesourcery.com> + * posix/tst-glob_symlinks.c (do_test): Increase size of buf. + * string/tester.c (test_strncat): Also disable -Warray-bounds warnings for two tests. diff --git a/posix/tst-glob_symlinks.c b/posix/tst-glob_symlinks.c index 5c4b4ec..3a86f4c 100644 --- a/posix/tst-glob_symlinks.c +++ b/posix/tst-glob_symlinks.c @@ -94,7 +94,7 @@ do_prepare (int argc, char *argv[]) static int do_test (void) { - char buf[PATH_MAX]; + char buf[PATH_MAX + 1]; glob_t gl; TEST_VERIFY_EXIT (glob (valid_link, 0, NULL, &gl) == 0); |