rust: Check for invalid UTF-8 in -prometheusmetrics argument

This commit is contained in:
Jack Grigg 2021-01-06 16:02:55 +00:00
parent dde7546091
commit 1e5f9284c0
1 changed files with 7 additions and 1 deletions

View File

@ -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::<SocketAddr>()
.map_err(|e| {