]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix Coverity defect 740327: unchecked library return value in ipc.cc
authorFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 9 Jul 2015 08:37:36 +0000 (10:37 +0200)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Thu, 9 Jul 2015 08:37:36 +0000 (10:37 +0200)
src/ipc.cc

index 03f4d7812d1f163e5c6491785a3b8e08342d1db3..da4b0624671536b3e00e9e7c8a81bfbc85eef97c 100644 (file)
@@ -151,10 +151,23 @@ ipcCreate(int type, const char *prog, const char *const args[], const char *name
             return -1;
         }
 
-        setsockopt(fds[0], SOL_SOCKET, SO_SNDBUF, (void *) &buflen, sizeof(buflen));
-        setsockopt(fds[0], SOL_SOCKET, SO_RCVBUF, (void *) &buflen, sizeof(buflen));
-        setsockopt(fds[1], SOL_SOCKET, SO_SNDBUF, (void *) &buflen, sizeof(buflen));
-        setsockopt(fds[1], SOL_SOCKET, SO_RCVBUF, (void *) &buflen, sizeof(buflen));
+        errno = 0;
+        if (setsockopt(fds[0], SOL_SOCKET, SO_SNDBUF, (void *) &buflen, sizeof(buflen)) == -1)  {
+            debugs(54, DBG_IMPORTANT, "setsockopt failed: " << xstrerror());
+            errno = 0;
+        }
+        if (setsockopt(fds[0], SOL_SOCKET, SO_RCVBUF, (void *) &buflen, sizeof(buflen)) == -1) {
+            debugs(54, DBG_IMPORTANT, "setsockopt failed: " << xstrerror());
+            errno = 0;
+        }
+        if (setsockopt(fds[1], SOL_SOCKET, SO_SNDBUF, (void *) &buflen, sizeof(buflen)) == -1) {
+            debugs(54, DBG_IMPORTANT, "setsockopt failed: " << xstrerror());
+            errno = 0;
+        }
+        if (setsockopt(fds[1], SOL_SOCKET, SO_RCVBUF, (void *) &buflen, sizeof(buflen)) == -1) {
+            debugs(54, DBG_IMPORTANT, "setsockopt failed: " << xstrerror());
+            errno = 0;
+        }
         fd_open(prfd = pwfd = fds[0], FD_PIPE, "IPC UNIX STREAM Parent");
         fd_open(crfd = cwfd = fds[1], FD_PIPE, "IPC UNIX STREAM Parent");
         IPC_CHECK_FAIL(crfd, "child read", "UDS socket");