From eff44fb0565bc25c9882af8da26011f787c93e23 Mon Sep 17 00:00:00 2001 From: Yin Fengwei Date: Fri, 10 May 2019 10:25:50 +0800 Subject: [PATCH] build fix: fix build issue with latest gcc for blkrescan MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With latest gcc version 9.1.1 20190506 from Clear Linux, we hit following build issue in blkrescan code: In function ‘strncpy’, inlined from ‘blkrescan_vm’ at acrn_vm_ops.c:468:2: /usr/include/bits/string_fortified.h:106:10: error: \ ‘__builtin___strncpy_chk’ specified bound depends on the length \ of the source argument [-Werror=stringop-overflow=] When calling strncpy, the size n should be set to max dest size instead of src size. Tracked-On: #3096 Signed-off-by: Yin Fengwei Acked-by: Yan, Like --- tools/acrn-manager/acrn_vm_ops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/acrn-manager/acrn_vm_ops.c b/tools/acrn-manager/acrn_vm_ops.c index 251adcd9a..8cbb1beed 100644 --- a/tools/acrn-manager/acrn_vm_ops.c +++ b/tools/acrn-manager/acrn_vm_ops.c @@ -465,7 +465,8 @@ int blkrescan_vm(const char *vmname, char *devargs) req.magic = MNGR_MSG_MAGIC; req.msgid = DM_BLKRESCAN; req.timestamp = time(NULL); - strncpy(req.data.devargs, devargs, strlen(devargs)+1); + strncpy(req.data.devargs, devargs, PARAM_LEN - 1); + req.data.devargs[PARAM_LEN - 1] = '\0'; send_msg(vmname, &req, &ack);