laforge has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmocore/+/37894?usp=email )
Change subject: src/core/socket.c: Fix close of negative fd in system_supports_inet6()
......................................................................
src/core/socket.c: Fix close of negative fd in system_supports_inet6()
*** CID 413596: Error handling issues (NEGATIVE_RETURNS)
/source-Osmocom/libosmocore/src/core/socket.c: 293 in system_supports_inet6()
287 if (cached_val < 0) {
288 int rc = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);
289 if (rc < 0 && errno == EAFNOSUPPORT) {
290 cached_val = 0;
291 } else {
292 cached_val = 1;
>> CID 413596: Error handling issues
(NEGATIVE_RETURNS)
>> "rc" is passed to a parameter that cannot be negative.
293
close(rc);
294 }
295 }
296 return cached_val == 1;
297 }
298
Change-Id: Iedd0f74688cacd8dbe4b46b2c7e03a6c2f56fbbf
Fixes: Change-Id I5690a25af98089e3a8a092cb91dfc969720abdc0
Closes: CID#413596
---
M src/core/socket.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/94/37894/1
diff --git a/src/core/socket.c b/src/core/socket.c
index da20981..90cf4ca 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -288,7 +288,7 @@
int rc = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);
if (rc < 0 && errno == EAFNOSUPPORT) {
cached_val = 0;
- } else {
+ } else if (rc >= 0) {
cached_val = 1;
close(rc);
}
--
To view, visit
https://gerrit.osmocom.org/c/libosmocore/+/37894?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Iedd0f74688cacd8dbe4b46b2c7e03a6c2f56fbbf
Gerrit-Change-Number: 37894
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge(a)osmocom.org>