]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
NTP: ensure parser name is not freed after registration
authorPierre Chifflier <chifflier@wzdftpd.net>
Sat, 13 Jan 2018 15:09:26 +0000 (16:09 +0100)
committerVictor Julien <victor@inliniac.net>
Mon, 15 Jan 2018 16:06:39 +0000 (17:06 +0100)
rust/src/ntp/ntp.rs

index 92a4b029e0f18291a8991e4433e5f6dd3b968733..5e7043279a96b5d976a076f4587e547729192392 100644 (file)
@@ -377,12 +377,13 @@ pub extern "C" fn ntp_probing_parser(_flow: *const Flow, input:*const u8, input_
     }
 }
 
+const PARSER_NAME : &'static [u8] = b"ntp\0";
+
 #[no_mangle]
 pub unsafe extern "C" fn rs_register_ntp_parser() {
-    let name = CString::new("ntp").unwrap();
     let default_port = CString::new("123").unwrap();
     let parser = RustParser {
-        name              : name.as_ptr(),
+        name              : PARSER_NAME.as_ptr() as *const libc::c_char,
         default_port      : default_port.as_ptr(),
         ipproto           : libc::IPPROTO_UDP,
         probe_ts          : ntp_probing_parser,