Fix strncpy length to "sizeof(buf) - 1" to avoid the compiler warning:
cc -O2 -Wall -Wshadow -o sg/syzkaller1 sg/syzkaller1.c
sg/syzkaller1.c: In function ‘syz_open_dev.constprop’:
sg/syzkaller1.c:204:16: warning: ‘strncpy’ specified bound 1024 equals
destination size [-Wstringop-truncation]
NONFAILING(strncpy(buf, (char*)a0, sizeof(buf)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sg/syzkaller1.c:143:7: note: in definition of macro ‘NONFAILING’
__VA_ARGS__; \
^~~~~~~~~~~
Since the last character of buf is forced set to 0, there is no
functional change introduced by this patch.
Signed-off-by: Damien Le Moal <[email protected]>
---
src/sg/syzkaller1.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/sg/syzkaller1.c b/src/sg/syzkaller1.c
index 60bd9a6..743859a 100644
--- a/src/sg/syzkaller1.c
+++ b/src/sg/syzkaller1.c
@@ -201,7 +201,7 @@ static uintptr_t syz_open_dev(uintptr_t a0, uintptr_t a1,
uintptr_t a2)
} else {
char buf[1024];
char* hash;
- NONFAILING(strncpy(buf, (char*)a0, sizeof(buf)));
+ NONFAILING(strncpy(buf, (char*)a0, sizeof(buf) - 1));
buf[sizeof(buf) - 1] = 0;
while ((hash = strchr(buf, '#'))) {
*hash = '0' + (char)(a1 % 10);
--
2.19.2