diff --git a/channels/urbdrc/client/isoch_queue.c b/channels/urbdrc/client/isoch_queue.c index 1c695219f..4e051f9e0 100644 --- a/channels/urbdrc/client/isoch_queue.c +++ b/channels/urbdrc/client/isoch_queue.c @@ -120,11 +120,13 @@ static int isoch_queue_unregister_data(ISOCH_CALLBACK_QUEUE* queue, ISOCH_CALLBA } queue->isoch_num--; - /* free data info */ - isoch->out_data = NULL; - if (isoch) + { + /* free data info */ + isoch->out_data = NULL; + zfree(isoch); + } return 1; /* unregistration successful */ }