提交 05eef748 编写于 作者: J jp9000

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.
上级 ff0c58e9
...@@ -62,8 +62,10 @@ static bool coreaudio_enum_device(enum_device_proc_t proc, void *param, ...@@ -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); enum_next = proc(param, cf_name, cf_uid, id);
fail: fail:
CFRelease(cf_name); if (cf_name)
CFRelease(cf_uid); CFRelease(cf_name);
if (cf_uid)
CFRelease(cf_uid);
return enum_next; return enum_next;
} }
......
...@@ -113,7 +113,9 @@ static bool find_device_id_by_uid(struct coreaudio_data *ca) ...@@ -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); success = coreaudio_get_device_id(cf_uid, &ca->device_id);
} }
CFRelease(cf_uid); if (cf_uid)
CFRelease(cf_uid);
return success; return success;
} }
...@@ -502,7 +504,9 @@ static bool coreaudio_get_device_name(struct coreaudio_data *ca) ...@@ -502,7 +504,9 @@ static bool coreaudio_get_device_name(struct coreaudio_data *ca)
bfree(ca->device_name); bfree(ca->device_name);
ca->device_name = bstrdup(name); ca->device_name = bstrdup(name);
CFRelease(cf_name); if (cf_name)
CFRelease(cf_name);
return true; return true;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册