diff --git a/src/core/cntlr_map.c b/src/core/cntlr_map.c index ccfe6dda64d95fa0a80026f71ae595ed7f663cf9..824d12600eeba11a718159baeb6cb12291799d1d 100644 --- a/src/core/cntlr_map.c +++ b/src/core/cntlr_map.c @@ -423,6 +423,7 @@ int handle_ap_autoconfig_wsc(void *cntlr, struct cmdu_buff *rx_cmdu) return -1; ret = send_cmdu(c, cmdu); + cmdu_free(cmdu); return 0; out: cmdu_free(cmdu); diff --git a/src/core/cntlr_tlv_generator.c b/src/core/cntlr_tlv_generator.c index ef07efb3162cab91c35550ae07275571efc42cb9..a6c8c64976727f644b5665cc27c41b6be6bd9aed 100644 --- a/src/core/cntlr_tlv_generator.c +++ b/src/core/cntlr_tlv_generator.c @@ -269,8 +269,11 @@ int cntlr_gen_wsc(struct controller *c, struct cmdu_buff *frm, ret = cmdu_put_tlv(frm, t); if (ret) { err("%s: error: cmdu_put_tlv()\n", __func__); + free(m2); return -1; } + + free(m2); return 0; }