From 05eef748914b72d268b289ffec12386f1f0937d9 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Mon, 3 Aug 2015 00:08:03 -0700 Subject: [PATCH] mac-capture: Don't call CFRelease on null vars CFRelease is not meant to be used with null variables. Check the variables before calling CFRelease. --- plugins/mac-capture/audio-device-enum.c | 6 ++++-- plugins/mac-capture/mac-audio.c | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/mac-capture/audio-device-enum.c b/plugins/mac-capture/audio-device-enum.c index 38cdab664..bf7de8d1b 100644 --- a/plugins/mac-capture/audio-device-enum.c +++ b/plugins/mac-capture/audio-device-enum.c @@ -62,8 +62,10 @@ static bool coreaudio_enum_device(enum_device_proc_t proc, void *param, enum_next = proc(param, cf_name, cf_uid, id); fail: - CFRelease(cf_name); - CFRelease(cf_uid); + if (cf_name) + CFRelease(cf_name); + if (cf_uid) + CFRelease(cf_uid); return enum_next; } diff --git a/plugins/mac-capture/mac-audio.c b/plugins/mac-capture/mac-audio.c index 8fb6c0533..a83e4ceba 100644 --- a/plugins/mac-capture/mac-audio.c +++ b/plugins/mac-capture/mac-audio.c @@ -113,7 +113,9 @@ static bool find_device_id_by_uid(struct coreaudio_data *ca) success = coreaudio_get_device_id(cf_uid, &ca->device_id); } - CFRelease(cf_uid); + if (cf_uid) + CFRelease(cf_uid); + return success; } @@ -502,7 +504,9 @@ static bool coreaudio_get_device_name(struct coreaudio_data *ca) bfree(ca->device_name); ca->device_name = bstrdup(name); - CFRelease(cf_name); + if (cf_name) + CFRelease(cf_name); + return true; } -- GitLab