From d9983ee0cb340fac1ed0cec12e28b0ba1bee3745 Mon Sep 17 00:00:00 2001 From: jiangpingping Date: Wed, 15 Nov 2023 14:11:44 +0800 Subject: Fix a mdns coverity issue to avoid RESOURCE_LEAK Bug: 312268760 [Description] sock not close before return if addr type is not ipv4 or ipv6. This will cause a RESOURCE_LEAK coverity issue. [Solution] close open socket before return Change-Id: I81dbb8663cd10169cbf106846eb1a0b4318ee050 Signed-off-by: jiangpingping --- mDNSShared/PlatformCommon.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mDNSShared/PlatformCommon.c b/mDNSShared/PlatformCommon.c index 2fb530e..607a7e7 100644 --- a/mDNSShared/PlatformCommon.c +++ b/mDNSShared/PlatformCommon.c @@ -66,7 +66,12 @@ mDNSexport void mDNSPlatformSourceAddrForDest(mDNSAddr *const src, const mDNSAdd addr.a6.sin6_addr = *(struct in6_addr*)&dst->ip.v6; addr.a6.sin6_scope_id = 0; } - else return; + else + { + // __ANDROID__ : Fix fd leak + goto exit; + } + if ((connect(sock, &addr.s, inner_len)) < 0) { LogMsg("mDNSPlatformSourceAddrForDest: connect %#a failed errno %d (%s)", dst, errno, strerror(errno)); goto exit; } -- cgit v1.2.3