net/irda: add missing error path release_sock call
authorKees Cook <[email protected]>
Wed, 20 Mar 2013 05:19:24 +0000 (05:19 +0000)
committerDavid S. Miller <[email protected]>
Wed, 20 Mar 2013 16:23:13 +0000 (12:23 -0400)
This makes sure that release_sock is called for all error conditions in
irda_getsockopt.

Signed-off-by: Kees Cook <[email protected]>
Reported-by: Brad Spengler <[email protected]>
Cc: [email protected]
Signed-off-by: David S. Miller <[email protected]>
net/irda/af_irda.c

index d07e3a626446b3cab44e68b019f7870619699f75..d28e7f014cc639779a4557203b4b2ba2f7e63927 100644 (file)
@@ -2583,8 +2583,10 @@ bed:
                                    NULL, NULL, NULL);
 
                /* Check if the we got some results */
-               if (!self->cachedaddr)
-                       return -EAGAIN;         /* Didn't find any devices */
+               if (!self->cachedaddr) {
+                       err = -EAGAIN;          /* Didn't find any devices */
+                       goto out;
+               }
                daddr = self->cachedaddr;
                /* Cleanup */
                self->cachedaddr = 0;