From 1e5f9284c04a0b4d21efcd5e88aa10b9a10b38d1 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 6 Jan 2021 16:02:55 +0000 Subject: [PATCH] rust: Check for invalid UTF-8 in -prometheusmetrics argument --- src/rust/src/metrics_ffi.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/rust/src/metrics_ffi.rs b/src/rust/src/metrics_ffi.rs index ba4d37ef0..57c33ebd8 100644 --- a/src/rust/src/metrics_ffi.rs +++ b/src/rust/src/metrics_ffi.rs @@ -9,7 +9,13 @@ use tracing::error; #[no_mangle] pub extern "C" fn metrics_run(listen_address: *const c_char) -> bool { - let listen_address = unsafe { CStr::from_ptr(listen_address) }.to_str().unwrap(); + let listen_address = match unsafe { CStr::from_ptr(listen_address) }.to_str() { + Ok(addr) => addr, + Err(_) => { + error!("-prometheusmetrics argument is not valid UTF-8"); + return false; + } + }; listen_address .parse::() .map_err(|e| {