diff --git a/plugins/mac-capture/audio-device-enum.c b/plugins/mac-capture/audio-device-enum.c index 38cdab664ed82d2ab769900f46903ebcd3feff6c..bf7de8d1bd17ae913567e984edf20c81d66fda6b 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 8fb6c05331af73c02ad0d98c19192f9b0140ecc3..a83e4cebab2c868dcbb799a048b430610274ee3c 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; }