summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabiano FidĂȘncio <fidencio@redhat.com>2015-08-13 13:20:50 +0200
committerFabiano FidĂȘncio <fidencio@redhat.com>2015-08-13 15:20:22 +0200
commit1782fdd0503453ea39812cb5f79e6de0248c4afc (patch)
tree8f9fcca9021a29d6b50eaddb0e1136fa2a888546
parent39b0ce009ee5b7a335e5c6690617c6f3dc037615 (diff)
downloadvirt-viewer-1782fdd0503453ea39812cb5f79e6de0248c4afc.tar.gz
virt-viewer-1782fdd0503453ea39812cb5f79e6de0248c4afc.tar.xz
virt-viewer-1782fdd0503453ea39812cb5f79e6de0248c4afc.zip
coverity: Copy into fixed sized buffer
Coverity says: You might overrun the 108 byte fixed-size string "addr.sun_path" by copying "unixsock" without checking the lenght. Note: This detect has an elevated risk because the source argument is a paramenter of the current function.
-rw-r--r--src/virt-viewer-app.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index d762699..f53a6f8 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -705,6 +705,11 @@ virt_viewer_app_open_unix_sock(const char *unixsock)
struct sockaddr_un addr;
int fd;
+ if (strlen(unixsock) + 1 > sizeof(addr.sun_path)) {
+ g_warning ("address is too long for unix socket_path: %s", unixsock);
+ return -1;
+ }
+
memset(&addr, 0, sizeof addr);
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, unixsock);