[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250628081918.523857-1-malayarout91@gmail.com>
Date: Sat, 28 Jun 2025 13:49:16 +0530
From: Malaya Kumar Rout <malayarout91@...il.com>
To: horms@...nel.org
Cc: Malaya Kumar Rout <malayarout91@...il.com>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Shuah Khan <shuah@...nel.org>,
netdev@...r.kernel.org,
linux-kselftest@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2] selftests: net: fix resource leak in napi_id_helper.c
Resolve minor resource leaks reported by cppcheck in napi_id_helper.c
cppcheck output before this patch:
tools/testing/selftests/drivers/net/napi_id_helper.c:37:3: error: Resource leak: server [resourceLeak]
tools/testing/selftests/drivers/net/napi_id_helper.c:46:3: error: Resource leak: server [resourceLeak]
tools/testing/selftests/drivers/net/napi_id_helper.c:51:3: error: Resource leak: server [resourceLeak]
tools/testing/selftests/drivers/net/napi_id_helper.c:59:3: error: Resource leak: server [resourceLeak]
tools/testing/selftests/drivers/net/napi_id_helper.c:67:3: error: Resource leak: server [resourceLeak]
tools/testing/selftests/drivers/net/napi_id_helper.c:76:3: error: Resource leak: server [resourceLeak]
cppcheck output after this patch:
No resource leaks found
Signed-off-by: Malaya Kumar Rout <malayarout91@...il.com>
---
.../selftests/drivers/net/napi_id_helper.c | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/drivers/net/napi_id_helper.c b/tools/testing/selftests/drivers/net/napi_id_helper.c
index eecd610c2109..47dd3291bd55 100644
--- a/tools/testing/selftests/drivers/net/napi_id_helper.c
+++ b/tools/testing/selftests/drivers/net/napi_id_helper.c
@@ -34,7 +34,7 @@ int main(int argc, char *argv[])
if (setsockopt(server, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) {
perror("setsockopt");
- return 1;
+ goto failure;
}
address.sin_family = AF_INET;
@@ -43,12 +43,12 @@ int main(int argc, char *argv[])
if (bind(server, (struct sockaddr *)&address, sizeof(address)) < 0) {
perror("bind failed");
- return 1;
+ goto failure;
}
if (listen(server, 1) < 0) {
perror("listen");
- return 1;
+ goto failure;
}
ksft_ready();
@@ -56,7 +56,7 @@ int main(int argc, char *argv[])
client = accept(server, NULL, 0);
if (client < 0) {
perror("accept");
- return 1;
+ goto failure;
}
optlen = sizeof(napi_id);
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
&optlen);
if (ret != 0) {
perror("getsockopt");
- return 1;
+ goto failure;
}
read(client, buf, 1024);
@@ -73,11 +73,18 @@ int main(int argc, char *argv[])
if (napi_id == 0) {
fprintf(stderr, "napi ID is 0\n");
- return 1;
+ goto failure;
}
close(client);
close(server);
return 0;
+
+failure:
+ if (client >= 0)
+ close(client);
+ if (server >= 0)
+ close(server);
+ return 1;
}
--
2.43.0
Powered by blists - more mailing lists