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; }