doc: getdelays.c: remember to close() socket on error in create_nl_socket()
authorJesper Juhl <jj@chaosbits.net>
Wed, 8 Aug 2012 18:56:14 +0000 (20:56 +0200)
committerJiri Kosina <jkosina@suse.cz>
Sat, 1 Sep 2012 16:58:59 +0000 (09:58 -0700)
If the call to setsockopt() fails in
Documentation/accounting/getdelays.c::create_nl_socket() we return -1
without closing the socket, thus leaking it when the 'fd' variable
goes out of scope.

Easily fixed by just jumping to the 'error' label instead of returning
since we do the proper cleanup there.

While I was there I noticed that the error message that is printet if
setsockopt() fails was broken over two lines - put that on a single
line so it is easier to grep for.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Documentation/accounting/getdelays.c

index f6318f6d7bafcdbcceee0f6eb89edc4af26b287b..6f706aca2049718c436501f56b8e33592f7f14d6 100644 (file)
@@ -98,10 +98,9 @@ static int create_nl_socket(int protocol)
        if (rcvbufsz)
                if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF,
                                &rcvbufsz, sizeof(rcvbufsz)) < 0) {
-                       fprintf(stderr, "Unable to set socket rcv buf size "
-                                       "to %d\n",
+                       fprintf(stderr, "Unable to set socket rcv buf size to %d\n",
                                rcvbufsz);
-                       return -1;
+                       goto error;
                }
 
        memset(&local, 0, sizeof(local));
This page took 0.036542 seconds and 5 git commands to generate.