Forráskód Böngészése

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.
jp9000 10 éve
szülő
commit
05eef74891

+ 4 - 2
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;
 }
 

+ 6 - 2
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;
 }