aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2023-08-03 21:15:39 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-08-03 22:41:45 +0200
commit5e4435f960bb681cbea853fb41043fabeeaea1b4 (patch)
tree3ab577f3d55764735a816ebbffabbd818bcc8a43
parentd97a12704bca5c2c326d856a69cd847c89784ae9 (diff)
downloadglibc-5e4435f960bb681cbea853fb41043fabeeaea1b4.tar
glibc-5e4435f960bb681cbea853fb41043fabeeaea1b4.tar.gz
glibc-5e4435f960bb681cbea853fb41043fabeeaea1b4.tar.bz2
glibc-5e4435f960bb681cbea853fb41043fabeeaea1b4.zip
tst-*glob*: Do not check d_name size
Posix says that d_name is of unspecified size, and sizeof(d_name) should not be used. It is indeed only 1-byte long in bits/dirent.h. We can instead explictly provide the actual allocated size to __strcpy_chk.
-rw-r--r--posix/tst-glob_lstat_compat.c2
-rw-r--r--posix/tst-gnuglob-skeleton.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/posix/tst-glob_lstat_compat.c b/posix/tst-glob_lstat_compat.c
index 937ad77da3..6559954247 100644
--- a/posix/tst-glob_lstat_compat.c
+++ b/posix/tst-glob_lstat_compat.c
@@ -173,7 +173,7 @@ my_readdir (void *gdir)
dir->d.d_type = filesystem[dir->idx].type;
- strcpy (dir->d.d_name, filesystem[dir->idx].name);
+ __strcpy_chk (dir->d.d_name, filesystem[dir->idx].name, NAME_MAX);
++dir->idx;
diff --git a/posix/tst-gnuglob-skeleton.c b/posix/tst-gnuglob-skeleton.c
index 557cfcbd2a..998fc2d94d 100644
--- a/posix/tst-gnuglob-skeleton.c
+++ b/posix/tst-gnuglob-skeleton.c
@@ -222,7 +222,7 @@ my_readdir (void *gdir)
dir->d.d_type = filesystem[dir->idx].type;
- strcpy (dir->d.d_name, filesystem[dir->idx].name);
+ __strcpy_chk (dir->d.d_name, filesystem[dir->idx].name, NAME_MAX);
if (test_verbose > 0)
printf ("info: my_readdir ({ level: %d, idx: %ld })"