--- libaitmqtt/src/aitmqtt.c 2012/04/27 16:17:11 1.1.1.1.2.11 +++ libaitmqtt/src/aitmqtt.c 2012/04/27 16:34:25 1.1.1.1.2.12 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitmqtt.c,v 1.1.1.1.2.11 2012/04/27 16:17:11 misho Exp $ +* $Id: aitmqtt.c,v 1.1.1.1.2.12 2012/04/27 16:34:25 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -411,6 +411,11 @@ mqtt_subCopy(mqtt_subscr_t * __restrict dst, mqtt_subs memcpy(dst->sub_topic.msg_base, src->sub_topic.msg_base, dst->sub_topic.msg_len); } + } else { + if (dst->sub_topic.msg_base) + free(dst->sub_topic.msg_base); + dst->sub_topic.msg_base = NULL; + dst->sub_topic.msg_len = 0; } if (src->sub_value.msg_base) { dst->sub_value.msg_base = malloc(src->sub_value.msg_len + 1); @@ -426,6 +431,11 @@ mqtt_subCopy(mqtt_subscr_t * __restrict dst, mqtt_subs memcpy(dst->sub_value.msg_base, src->sub_value.msg_base, dst->sub_value.msg_len); } + } else { + if (dst->sub_value.msg_base) + free(dst->sub_value.msg_base); + dst->sub_value.msg_base = NULL; + dst->sub_value.msg_len = 0; } dst->sub_ret = src->sub_ret;