فهرست منبع

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 سال پیش
والد
کامیت
05eef74891
2فایلهای تغییر یافته به همراه10 افزوده شده و 4 حذف شده
  1. 4 2
      plugins/mac-capture/audio-device-enum.c
  2. 6 2
      plugins/mac-capture/mac-audio.c

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