This commit is patch to prevent memory leakage caused by observers
- there is no routine to free observers for libcoap-server
- remained observers in a resource can cause memory leakage
Change-Id: Ib2aefc9cd5f9572f5170fc96f0f832e02692dfc9
Signed-off-by: Jin-Seong Kim <jseong82.kim@samsung.com>
#else
HASH_ITER(hh, context->resources, res, rtmp) {
#endif
+/* To prevent memory leakage due to remained subscribers */
+#ifndef WITHOUT_OBSERVE
+ coap_subscription_t *s = NULL;
+ for (s = list_head(res->subscribers); s; s = list_item_next(s)) {
+ if (s) {
+ list_remove(res->subscribers, s);
+ coap_free(s);
+ }
+ }
+#endif
coap_delete_resource(context, res->key);
}
#endif /* WITH_POSIX || WITH_LWIP */