if (count != 0) {
private_voutput->available_modes.modes = calloc(count, sizeof(tdm_client_output_mode));
+ if (private_voutput->available_modes.modes == NULL) {
+ private_voutput->available_modes.count = 0;
+ pthread_mutex_unlock(&private_client->lock);
+ return TDM_ERROR_OUT_OF_MEMORY;
+ }
memcpy(private_voutput->available_modes.modes, modes, sizeof(tdm_client_output_mode) * count);
}
LIST_DEL(&h->link);
free(h);
+
+ pthread_mutex_unlock(&private_client->lock);
+
+ return;
}
pthread_mutex_unlock(&private_client->lock);