mosquitto: fix crash on client disconnect
authorKarl Palsson <karlp@remake.is>
Tue, 25 Aug 2015 13:47:57 +0000 (13:47 +0000)
committerKarl Palsson <karlp@remake.is>
Tue, 25 Aug 2015 14:51:55 +0000 (14:51 +0000)
Patch backported from upstream.  Was only noticed on musl and freebsd
clients.  See https://bugs.eclipse.org/bugs/show_bug.cgi?id=475707

Fixes github issue #1692

Signed-off-by: Karl Palsson <karlp@remake.is>
net/mosquitto/Makefile
net/mosquitto/patches/001-free-counting-bug-475707.patch [new file with mode: 0644]

index 05348aeb80dbaadc59872ed46479fa98c3aa6521..1aac9d8723351d8a96e087054c0a6715ded4c5b8 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mosquitto
 PKG_VERSION:=1.4.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE.txt
 
diff --git a/net/mosquitto/patches/001-free-counting-bug-475707.patch b/net/mosquitto/patches/001-free-counting-bug-475707.patch
new file mode 100644 (file)
index 0000000..6b16145
--- /dev/null
@@ -0,0 +1,14 @@
+diff --git a/lib/memory_mosq.c b/lib/memory_mosq.c
+index b1f5bfd..4d8217d 100644
+--- a/lib/memory_mosq.c
++++ b/lib/memory_mosq.c
+@@ -54,6 +54,9 @@ void *mosquitto__calloc(size_t nmemb, size_t size)
+ void mosquitto__free(void *mem)
+ {
+ #ifdef REAL_WITH_MEMORY_TRACKING
++      if(!mem){
++              return;
++      }
+       memcount -= malloc_usable_size(mem);
+ #endif
+       free(mem);