summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2015-02-03 00:36:30 +0100
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2015-02-03 00:40:02 +0100
commit5de7f1c5acc64e2d15b763bb12fe25345bd46801 (patch)
tree5cc19004843c560cebf19102c0a970fce122e33d
parentde4f9977528e454c44f980a4364ecd18d3219c62 (diff)
downloadmpv-5de7f1c5acc64e2d15b763bb12fe25345bd46801.tar.bz2
mpv-5de7f1c5acc64e2d15b763bb12fe25345bd46801.tar.xz
ao_coreaudio: fix small memory leak
-rw-r--r--audio/out/ao_coreaudio_utils.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/audio/out/ao_coreaudio_utils.c b/audio/out/ao_coreaudio_utils.c
index 50c866d86c..90ebdbc752 100644
--- a/audio/out/ao_coreaudio_utils.c
+++ b/audio/out/ao_coreaudio_utils.c
@@ -64,13 +64,17 @@ void ca_get_device_list(struct ao *ao, struct ao_device_list *list)
for (int i = 0; i < n_devs; i++) {
if (!ca_is_output_device(ao, devs[i]))
continue;
+ void *ta_ctx = talloc_new(NULL);
char *name;
char *desc;
err = CA_GET_STR(devs[i], kAudioDevicePropertyDeviceUID, &name);
+ talloc_steal(ta_ctx, name);
err = CA_GET_STR(devs[i], kAudioObjectPropertyName, &desc);
+ talloc_steal(ta_ctx, desc);
if (err != noErr)
desc = "Unknown";
ao_device_list_add(list, ao, &(struct ao_device_desc){name, desc});
+ talloc_free(ta_ctx);
}
talloc_free(devs);
coreaudio_error: