lib: Fix CID 1272858 Copy-paste error
authorVolker Lendecke <vl@samba.org>
Tue, 23 Jun 2015 09:03:47 +0000 (11:03 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 23 Jun 2015 20:12:09 +0000 (22:12 +0200)
Coverity is wrong here, but it's a good idea to consolidate the close-loop

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/lib/messages.c

index 041aa1f55bc14bbf7afbf8c6c6d6ead2160e1ef7..78ff7217d5252dd92efedf88e30f6e9d090b9c87 100644 (file)
@@ -219,19 +219,13 @@ static void messaging_recv_cb(const uint8_t *msg, size_t msg_len,
        size_t i;
 
        if (msg_len < MESSAGE_HDR_LENGTH) {
-               for (i=0; i < num_fds; i++) {
-                       close(fds[i]);
-               }
                DEBUG(1, ("message too short: %u\n", (unsigned)msg_len));
-               return;
+               goto close_fail;
        }
 
        if (num_fds > INT8_MAX) {
-               for (i=0; i < num_fds; i++) {
-                       close(fds[i]);
-               }
                DEBUG(1, ("too many fds: %u\n", (unsigned)num_fds));
-               return;
+               goto close_fail;
        }
 
        /*
@@ -260,6 +254,12 @@ static void messaging_recv_cb(const uint8_t *msg, size_t msg_len,
                   server_id_str_buf(rec.src, &idbuf)));
 
        messaging_dispatch_rec(msg_ctx, &rec);
+       return;
+
+close_fail:
+       for (i=0; i < num_fds; i++) {
+               close(fds[i]);
+       }
 }
 
 static int messaging_context_destructor(struct messaging_context *ctx)