From: Jason Ish Date: Fri, 1 Nov 2024 15:32:12 +0000 (-0600) Subject: rust/applayer: return -1 if event info was not found X-Git-Tag: suricata-7.0.8~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bcd3523cc7fa46df17e2985bbe4d378573db8b92;p=thirdparty%2Fsuricata.git rust/applayer: return -1 if event info was not found The returned event_id was being set to -1, but the function wasn't returning -1 to indicate error. Ticket: #7361 --- diff --git a/rust/src/applayer.rs b/rust/src/applayer.rs index 113aa238b3..551a125d97 100644 --- a/rust/src/applayer.rs +++ b/rust/src/applayer.rs @@ -615,13 +615,13 @@ pub unsafe fn get_event_info( return -1; } - let event = match CStr::from_ptr(event_name).to_str().map(T::from_string) { - Ok(Some(event)) => event.as_i32(), - _ => -1, - }; - *event_type = core::AppLayerEventType::APP_LAYER_EVENT_TYPE_TRANSACTION; - *event_id = event as std::os::raw::c_int; - return 0; + if let Ok(Some(event)) = CStr::from_ptr(event_name).to_str().map(T::from_string) { + *event_type = core::AppLayerEventType::APP_LAYER_EVENT_TYPE_TRANSACTION; + *event_id = event.as_i32() as std::os::raw::c_int; + 0 + } else { + -1 + } } /// Generic `get_info_info_by_id` implementation for enums implementing