From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33836) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4sp2-0000qM-BI for qemu-devel@nongnu.org; Tue, 16 Jun 2015 11:30:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4sox-0007EK-Un for qemu-devel@nongnu.org; Tue, 16 Jun 2015 11:30:44 -0400 Received: from e23smtp04.au.ibm.com ([202.81.31.146]:36931) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4sox-0007DO-AG for qemu-devel@nongnu.org; Tue, 16 Jun 2015 11:30:39 -0400 Received: from /spool/local by e23smtp04.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 17 Jun 2015 01:30:36 +1000 Received: from d23relay07.au.ibm.com (d23relay07.au.ibm.com [9.190.26.37]) by d23dlp03.au.ibm.com (Postfix) with ESMTP id 685D53578052 for ; Wed, 17 Jun 2015 01:30:34 +1000 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay07.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t5GFUQvQ30081260 for ; Wed, 17 Jun 2015 01:30:34 +1000 Received: from d23av03.au.ibm.com (localhost [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t5GFU1mA032128 for ; Wed, 17 Jun 2015 01:30:01 +1000 From: "Aneesh Kumar K.V" Date: Tue, 16 Jun 2015 20:59:36 +0530 Message-Id: <1434468576-18581-3-git-send-email-aneesh.kumar@linux.vnet.ibm.com> In-Reply-To: <1434468576-18581-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> References: <1434468576-18581-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 2/2] virtfs-proxy-helper: fail gracefully if socket path is too long List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: anthony@codemonkey.ws, peter.maydell@linaro.org Cc: "Aneesh Kumar K.V" , qemu-devel@nongnu.org, Stefan Hajnoczi , Shannon Zhao From: Stefan Hajnoczi Replace the assertion check with graceful failure when the socket path is too long. Programs should not crash on invalid input. Print an error message and exit properly. Cc: Shannon Zhao Signed-off-by: Stefan Hajnoczi Signed-off-by: Aneesh Kumar K.V --- fsdev/virtfs-proxy-helper.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c index 91e8b9b7f1cf..9097d15c989c 100644 --- a/fsdev/virtfs-proxy-helper.c +++ b/fsdev/virtfs-proxy-helper.c @@ -739,7 +739,12 @@ static int proxy_socket(const char *path, uid_t uid, gid_t gid) return -1; } - g_assert(strlen(path) < sizeof(proxy.sun_path)); + if (strlen(path) >= sizeof(proxy.sun_path)) { + do_log(LOG_CRIT, "UNIX domain socket path exceeds %zu characters\n", + sizeof(proxy.sun_path)); + return -1; + } + sock = socket(AF_UNIX, SOCK_STREAM, 0); if (sock < 0) { do_perror("socket"); -- 2.1.4