From: Stefan Hajnoczi Date: Mon, 30 Mar 2015 13:57:16 +0000 (+0100) Subject: virtfs-proxy-helper: fail gracefully if socket path is too long X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~209^2~132^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f8d30a4f96d6c3a12e692d2e69b8fe4734b916c6;p=sdk%2Femulator%2Fqemu.git virtfs-proxy-helper: fail gracefully if socket path is too long 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 --- diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c index 91e8b9b7f1..9097d15c98 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");