aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-protocols/mdns/mdns/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-protocols/mdns/mdns/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch')
-rw-r--r--meta-networking/recipes-protocols/mdns/mdns/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/meta-networking/recipes-protocols/mdns/mdns/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch b/meta-networking/recipes-protocols/mdns/mdns/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
new file mode 100644
index 0000000000..d9adde04c2
--- /dev/null
+++ b/meta-networking/recipes-protocols/mdns/mdns/0011-Change-a-dynamic-allocation-to-file-scope-variable.patch
@@ -0,0 +1,53 @@
+From 9ff06108cd44e84ba6c68bfa6737e793f117e303 Mon Sep 17 00:00:00 2001
+From: Nate Karstens <nate.karstens@garmin.com>
+Date: Thu, 10 Aug 2017 08:46:03 -0500
+Subject: [PATCH] Change a dynamic allocation to file-scope variable
+
+Changes a variable from being dynamically-allocated to being
+statically-allocated at the file scope. Addresses a Coverity
+issue where it appeared that the memory was being leaked.
+
+Upstream-Status: Submitted [dts@apple.com]
+
+Signed-off-by: Nate Karstens <nate.karstens@garmin.com>
+---
+ mDNSPosix/mDNSPosix.c | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
+index 7aeee7b..2d25016 100755
+--- a/mDNSPosix/mDNSPosix.c
++++ b/mDNSPosix/mDNSPosix.c
+@@ -81,6 +81,7 @@ static sigset_t gEventSignalSet; // Signals which event loop list
+ static sigset_t gEventSignals; // Signals which were received while inside loop
+
+ static PosixNetworkInterface *gRecentInterfaces;
++static IfChangeRec gChgRec;
+
+ // ***************************************************************************
+ // Globals (for debugging)
+@@ -1641,18 +1642,11 @@ mDNSlocal void InterfaceChangeCallback(int fd, void *context)
+ mDNSlocal mStatus WatchForInterfaceChange(mDNS *const m)
+ {
+ mStatus err;
+- IfChangeRec *pChgRec;
+
+- pChgRec = (IfChangeRec*) mDNSPlatformMemAllocateClear(sizeof *pChgRec);
+- if (pChgRec == NULL)
+- return mStatus_NoMemoryErr;
+-
+- pChgRec->mDNS = m;
+- err = OpenIfNotifySocket(&pChgRec->NotifySD);
++ gChgRec.mDNS = m;
++ err = OpenIfNotifySocket(&gChgRec.NotifySD);
+ if (err == 0)
+- err = mDNSPosixAddFDToEventLoop(pChgRec->NotifySD, InterfaceChangeCallback, pChgRec);
+- if (err)
+- mDNSPlatformMemFree(pChgRec);
++ err = mDNSPosixAddFDToEventLoop(gChgRec.NotifySD, InterfaceChangeCallback, &gChgRec);
+
+ return err;
+ }
+--
+2.20.1
+