--- mqtt/src/mqttd_calls.c 2012/06/01 10:39:48 1.2.2.19 +++ mqtt/src/mqttd_calls.c 2012/06/01 10:44:51 1.2.2.20 @@ -30,14 +30,13 @@ mkPkt(void * __restrict data, int dlen) } static inline void -freePkt(struct tagPkt ** __restrict p) +freePkt(struct tagPkt * __restrict p) { - if (!p || !*p) + if (!p) return; - io_freeVar(&(*p)->pkt_data); - io_free(*p); - *p = NULL; + io_freeVar(&p->pkt_data); + io_free(p); } static void * @@ -61,6 +60,7 @@ sendPacket(sched_task_t *task) } } + freePkt(p); return NULL; }