Don't play with fire

This commit is contained in:
ssrlive 2024-05-30 20:06:15 +08:00
parent 1023f00d12
commit 4b0ca087eb

View file

@ -35,7 +35,7 @@ pub unsafe extern "C" fn Java_com_github_shadowsocks_bg_Tun2proxy_run(
.with_filter(filter),
);
let proxy_url = get_java_string(&mut env, &proxy_url).unwrap();
let proxy = ArgProxy::try_from(proxy_url).unwrap();
let proxy = ArgProxy::try_from(proxy_url.as_str()).unwrap();
let mut args = Args::default();
args.proxy(proxy).tun_fd(Some(tun_fd)).dns(dns).verbosity(verbosity);
@ -50,8 +50,6 @@ pub unsafe extern "C" fn Java_com_github_shadowsocks_bg_Tun2proxy_stop(_env: JNI
crate::mobile_api::mobile_stop()
}
unsafe fn get_java_string<'a>(env: &'a mut JNIEnv, string: &'a JString) -> Result<&'a str, Error> {
let str_ptr = env.get_string(string)?.as_ptr();
let s: &str = std::ffi::CStr::from_ptr(str_ptr).to_str()?;
Ok(s)
fn get_java_string(env: &mut JNIEnv, string: &JString) -> Result<String, Error> {
Ok(env.get_string(string)?.into())
}