From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Mrzyglod Subject: [PATCH] examples/vm_power_manager: buffer not null terminated Date: Tue, 12 Apr 2016 17:13:06 +0200 Message-ID: <1460473986-3816-1-git-send-email-danielx.t.mrzyglod@intel.com> Cc: alan.carew@intel.com To: dev@dpdk.org Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 3B6392E8A for ; Tue, 12 Apr 2016 17:13:43 +0200 (CEST) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" CID30691: If the buffer is treated as a null terminated string in later operations, a buffer overflow or over-read may occur. In add_vm: The string buffer may not have a null terminator if the source string's length is equal to the buffer size Fixes: e8ae9b662506 ("examples/vm_power: channel manager and monitor in host") Signed-off-by: Daniel Mrzyglod --- examples/vm_power_manager/channel_manager.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/vm_power_manager/channel_manager.c b/examples/vm_power_manager/channel_manager.c index 22c2ddd..b9265ce 100644 --- a/examples/vm_power_manager/channel_manager.c +++ b/examples/vm_power_manager/channel_manager.c @@ -666,7 +666,8 @@ add_vm(const char *vm_name) rte_free(new_domain); return -1; } - strncpy(new_domain->name, vm_name, sizeof(new_domain->name)); + strncat(new_domain->name, vm_name, sizeof(new_domain->name) - + strlen(new_domain->name) - 1); new_domain->channel_mask = 0; new_domain->num_channels = 0; -- 2.5.5