Fix potential memory leak from context->current_out_packet.

pull/211/merge
Roger A. Light 11 years ago
parent 154b2fc264
commit db9d6b9f3d

@ -244,13 +244,19 @@ void mqtt3_bridge_packet_cleanup(struct mosquitto *context)
struct _mosquitto_packet *packet;
if(!context) return;
_mosquitto_packet_cleanup(context->current_out_packet);
if(context->current_out_packet){
_mosquitto_packet_cleanup(context->current_out_packet);
_mosquitto_free(context->current_out_packet);
context->current_out_packet = NULL;
}
while(context->out_packet){
_mosquitto_packet_cleanup(context->out_packet);
packet = context->out_packet;
context->out_packet = context->out_packet->next;
_mosquitto_free(packet);
}
context->out_packet = NULL;
context->out_packet_last = NULL;
_mosquitto_packet_cleanup(&(context->in_packet));
}

@ -151,8 +151,11 @@ void mqtt3_context_cleanup(struct mosquitto_db *db, struct mosquitto *context, b
context->id = NULL;
}
_mosquitto_packet_cleanup(&(context->in_packet));
_mosquitto_packet_cleanup(context->current_out_packet);
context->current_out_packet = NULL;
if(context->current_out_packet){
_mosquitto_packet_cleanup(context->current_out_packet);
_mosquitto_free(context->current_out_packet);
context->current_out_packet = NULL;
}
while(context->out_packet){
_mosquitto_packet_cleanup(context->out_packet);
packet = context->out_packet;

Loading…
Cancel
Save