From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34389) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SS38A-00062w-EW for qemu-devel@nongnu.org; Wed, 09 May 2012 05:24:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SS382-00024J-NY for qemu-devel@nongnu.org; Wed, 09 May 2012 05:24:22 -0400 Received: from mx.meyering.net ([88.168.87.75]:36910) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SS382-00023T-GH for qemu-devel@nongnu.org; Wed, 09 May 2012 05:24:14 -0400 From: Jim Meyering Date: Wed, 9 May 2012 11:23:48 +0200 Message-Id: <1336555446-20180-5-git-send-email-jim@meyering.net> In-Reply-To: <1336555446-20180-1-git-send-email-jim@meyering.net> References: <1336555446-20180-1-git-send-email-jim@meyering.net> Subject: [Qemu-devel] [PATCH 04/22] hw/9pfs: avoid buffer overrun List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Jim Meyering , "Aneesh Kumar K.V" From: Jim Meyering v9fs_add_dir_node and qemu_v9fs_synth_add_file used strncpy to form node->name, which requires NUL-termination, but strncpy does not ensure NUL-termination. Use pstrcpy, which does. Signed-off-by: Jim Meyering --- hw/9pfs/virtio-9p-synth.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/9pfs/virtio-9p-synth.c b/hw/9pfs/virtio-9p-synth.c index 92e0b09..e95a856 100644 --- a/hw/9pfs/virtio-9p-synth.c +++ b/hw/9pfs/virtio-9p-synth.c @@ -58,7 +58,7 @@ static V9fsSynthNode *v9fs_add_dir_node(V9fsSynthNode *parent, int mode, node->attr->read = NULL; } node->private = node; - strncpy(node->name, name, sizeof(node->name)); + pstrcpy(node->name, sizeof(node->name), name); QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling); return node; } @@ -132,7 +132,7 @@ int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode, node->attr->write = write; node->attr->mode = mode; node->private = arg; - strncpy(node->name, name, sizeof(node->name)); + pstrcpy(node->name, sizeof(node->name), name); QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling); ret = 0; err_out: -- 1.7.10.1.487.ga3935e6