From 882f319761ebe0ff17624e6b66ff79270c3c63e5 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Fri, 13 Nov 2015 18:20:38 +0100 Subject: btrfs-progs: utils: do not expect lo_file_name to be null terminated The loop_info64::lo_file_name might not be null terminated. Avoid strlen and trim the length to whatever size of the loop_info buffer. Signed-off-by: David Sterba --- utils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'utils.c') diff --git a/utils.c b/utils.c index 4f3fbbae..c9c6394f 100644 --- a/utils.c +++ b/utils.c @@ -1188,7 +1188,8 @@ static int resolve_loop_device_with_loopdev(const char* loop_dev, char* loop_fil if (ioctl(fd, LOOP_GET_STATUS64, &lo64) < 0) return -errno; - memcpy(loop_file, lo64.lo_file_name, strlen(lo64.lo_file_name) + 1); + memcpy(loop_file, lo64.lo_file_name, sizeof(lo64.lo_file_name)); + loop_file[sizeof(lo64.lo_file_name)] = 0; if (close(fd) < 0) return -errno; -- cgit v1.2.3