mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
fsx: fix strncpy usage error
We shouldn't feed sizeof() to strncpy as the string length. Just use
snprintf, which at least doesn't have the zero termination problems.
In file included from /usr/include/string.h:495,
from ../src/global.h:73,
from fsx.c:16:
In function 'strncpy',
inlined from 'main' at fsx.c:2944:5:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: warning:
'__builtin_strncpy' specified bound 4096 equals destination size
[-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'strncpy',
inlined from 'main' at fsx.c:2914:4:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: warning:
'__builtin_strncpy' specified bound 1024 equals destination size
[-Wstringop-truncation]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
bd3353b0d4
commit
4f8a21fa8d
@@ -2769,8 +2769,7 @@ main(int argc, char **argv)
|
||||
randomoplen = 0;
|
||||
break;
|
||||
case 'P':
|
||||
strncpy(dname, optarg, sizeof(dname));
|
||||
strcat(dname, "/");
|
||||
snprintf(dname, sizeof(dname), "%s/", optarg);
|
||||
dirpath = strlen(dname);
|
||||
break;
|
||||
case 'R':
|
||||
@@ -2799,7 +2798,7 @@ main(int argc, char **argv)
|
||||
break;
|
||||
case 255: /* --record-ops */
|
||||
if (optarg)
|
||||
strncpy(opsfile, optarg, sizeof(opsfile));
|
||||
snprintf(opsfile, sizeof(opsfile), "%s", optarg);
|
||||
recordops = opsfile;
|
||||
break;
|
||||
case 256: /* --replay-ops */
|
||||
|
||||
Reference in New Issue
Block a user