xfsprogs/0011-libhandle-fix-potential-unterminated-string-problem.patch
2020-12-03 09:51:04 +08:00

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