]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test_async_driver.cc: fix NEGATIVE_RETURNS
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Fri, 13 Mar 2015 11:17:00 +0000 (12:17 +0100)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Tue, 17 Mar 2015 08:19:40 +0000 (09:19 +0100)
Fix for:

CID 1254374 (#1 of 1): Argument cannot be negative (NEGATIVE_RETURNS)
1. negative_return_fn: Function socket(2, SOCK_STREAM, 0) returns a
   negative number.
2. var_assign: Assigning: signed variable connect_sd = socket.
3. negative_returns: connect_sd is passed to a parameter that cannot
   be negative.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/test/msgr/test_async_driver.cc

index d666ac69985f468e47b98a57948e0ef140d3bbe2..e77d23a1513da5093c6da1af64f8c0f745fe9778 100644 (file)
@@ -138,26 +138,29 @@ TEST_P(EventDriverTest, PipeTest) {
 void* echoclient(void *arg)
 {
   intptr_t port = (intptr_t)arg;
-  int connect_sd = ::socket(AF_INET, SOCK_STREAM, 0);
   struct sockaddr_in sa;
   sa.sin_family = AF_INET;
   sa.sin_port = htons(port);
   char addr[] = "127.0.0.1";
   int r = inet_aton(addr, &sa.sin_addr);
-  r = connect(connect_sd, (struct sockaddr*)&sa, sizeof(sa));
-  int t = 0;
 
-  do {
-    char c[] = "banner";
-    r = write(connect_sd, c, sizeof(c));
-    char d[100];
-    r = read(connect_sd, d, sizeof(d));
-    if (r == 0)
-      break;
-    if (t++ == 30)
-      break;
-  } while (1);
-  ::close(connect_sd);
+  int connect_sd = ::socket(AF_INET, SOCK_STREAM, 0);
+  if (connect_sd >= 0) {
+    r = connect(connect_sd, (struct sockaddr*)&sa, sizeof(sa));
+    int t = 0;
+  
+    do {
+      char c[] = "banner";
+      r = write(connect_sd, c, sizeof(c));
+      char d[100];
+      r = read(connect_sd, d, sizeof(d));
+      if (r == 0)
+        break;
+      if (t++ == 30)
+        break;
+    } while (1);
+    ::close(connect_sd);
+  }
   return 0;
 }