From 53692202a2773424b16812d74b574aa9a2b3123e Mon Sep 17 00:00:00 2001 From: David Reid Date: Sun, 4 Mar 2018 10:22:27 +1000 Subject: [PATCH] Fix memory leaks in the advanced config example. --- examples/advanced_config.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/examples/advanced_config.c b/examples/advanced_config.c index a0f10302..5772bcb6 100644 --- a/examples/advanced_config.c +++ b/examples/advanced_config.c @@ -76,6 +76,7 @@ int main(int argc, char** argv) mal_device_info* pPlaybackDeviceInfos = (mal_device_info*)malloc(playbackDeviceCount * sizeof(*pPlaybackDeviceInfos)); if (mal_enumerate_devices(&context, mal_device_type_playback, &playbackDeviceCount, pPlaybackDeviceInfos) != MAL_SUCCESS) { printf("Failed to enumerate playback devices."); + free(pPlaybackDeviceInfos); mal_context_uninit(&context); return -4; } @@ -85,6 +86,9 @@ int main(int argc, char** argv) printf(" %u: %s\n", iDevice, pPlaybackDeviceInfos[iDevice].name); } + free(pPlaybackDeviceInfos); + pPlaybackDeviceInfos = NULL; + printf("\n"); // Enumerate capture devices. @@ -98,6 +102,7 @@ int main(int argc, char** argv) mal_device_info* pCaptureDeviceInfos = (mal_device_info*)malloc(captureDeviceCount * sizeof(*pCaptureDeviceInfos)); if (mal_enumerate_devices(&context, mal_device_type_capture, &captureDeviceCount, pCaptureDeviceInfos) != MAL_SUCCESS) { printf("Failed to enumerate capture devices."); + free(pCaptureDeviceInfos); mal_context_uninit(&context); return -6; } @@ -107,6 +112,9 @@ int main(int argc, char** argv) printf(" %u: %s\n", iDevice, pCaptureDeviceInfos[iDevice].name); } + free(pCaptureDeviceInfos); + pCaptureDeviceInfos = NULL; + // Open the device. //