From 5d244ca1bdea70c831c63e6bc739ccca8bb623f2 Mon Sep 17 00:00:00 2001 From: Andrey Vagin Date: Fri, 5 Apr 2013 01:44:28 +0400 Subject: [PATCH] cr-check: don't forget close a test socket CID 996206 (#3 of 3): Resource leak (RESOURCE_LEAK) 8. leaked_handle: Handle variable "sk" going out of scope leaks the handle. Signed-off-by: Andrey Vagin Signed-off-by: Pavel Emelyanov --- cr-check.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cr-check.c b/cr-check.c index 3e2c16b65..104598853 100644 --- a/cr-check.c +++ b/cr-check.c @@ -398,7 +398,7 @@ static int check_unaligned_vmsplice(void) static int check_so_gets(void) { - int sk; + int sk, ret = -1; socklen_t len; char name[IFNAMSIZ]; @@ -411,16 +411,19 @@ static int check_so_gets(void) len = 0; if (getsockopt(sk, SOL_SOCKET, SO_GET_FILTER, NULL, &len)) { pr_perror("Can't get socket filter"); - return -1; + goto err; } len = sizeof(name); if (getsockopt(sk, SOL_SOCKET, SO_BINDTODEVICE, name, &len)) { pr_perror("Can't get socket bound dev"); - return -1; + goto err; } - return 0; + ret = 0; +err: + close(sk); + return ret; } static int check_ipc(void)