35 lines
1.2 KiB
Diff
35 lines
1.2 KiB
Diff
|
|
From 62be9551c3656effc2e013da12c9e1c9698c104f Mon Sep 17 00:00:00 2001
|
||
|
|
From: "Darrick J. Wong" <darrick.wong@oracle.com>
|
||
|
|
Date: Mon, 12 Oct 2020 11:59:19 -0400
|
||
|
|
Subject: [PATCH 16/16] libhandle: fix potential unterminated string problem
|
||
|
|
|
||
|
|
gcc 10.2 complains about the strncpy call here, since it's possible that
|
||
|
|
the source string is so long that the fspath inside the fdhash structure
|
||
|
|
will end up without a null terminator. Work around strncpy braindamage
|
||
|
|
yet again by forcing the string to be terminated properly.
|
||
|
|
|
||
|
|
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
|
||
|
|
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
|
||
|
|
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
|
||
|
|
---
|
||
|
|
libhandle/handle.c | 3 ++-
|
||
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/libhandle/handle.c b/libhandle/handle.c
|
||
|
|
index eb099f4..5c1686b 100644
|
||
|
|
--- a/libhandle/handle.c
|
||
|
|
+++ b/libhandle/handle.c
|
||
|
|
@@ -107,7 +107,8 @@ path_to_fshandle(
|
||
|
|
}
|
||
|
|
|
||
|
|
fdhp->fsfd = fd;
|
||
|
|
- strncpy(fdhp->fspath, fspath, sizeof(fdhp->fspath));
|
||
|
|
+ strncpy(fdhp->fspath, fspath, sizeof(fdhp->fspath) - 1);
|
||
|
|
+ fdhp->fspath[sizeof(fdhp->fspath) - 1] = 0;
|
||
|
|
memcpy(fdhp->fsh, *fshanp, FSIDSIZE);
|
||
|
|
|
||
|
|
fdhp->fnxt = fdhash_head;
|
||
|
|
--
|
||
|
|
1.8.3.1
|
||
|
|
|