Skip to content

Commit 1574b3f

Browse files
committed
detect/uint: add test for unexpected behavior
An invalid range is being convert to equals.
1 parent a16e87b commit 1574b3f

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

rust/src/detect/uint.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,4 +1043,28 @@ mod tests {
10431043
assert!(detect_parse_uint::<u8>("").is_err());
10441044
assert!(detect_parse_uint::<u8>("<444").is_err());
10451045
}
1046+
1047+
#[test]
1048+
fn test_null_range() {
1049+
// This is OK and expected.
1050+
let (_, val) = detect_parse_uint_notending::<u8>("1<>3").unwrap();
1051+
assert_eq!(val.arg1, 1);
1052+
assert_eq!(val.arg2, 3);
1053+
assert_eq!(val.mode, DetectUintMode::DetectUintModeRange);
1054+
1055+
// Is this expected?
1056+
let (_, val) = detect_parse_uint_notending::<u8>("1<>2").unwrap();
1057+
assert_eq!(val.arg1, 1);
1058+
assert_eq!(val.arg2, 0);
1059+
assert_eq!(val.mode, DetectUintMode::DetectUintModeEqual);
1060+
1061+
// Is this expected?
1062+
let (_, val) = detect_parse_uint_notending::<u8>("4-5").unwrap();
1063+
assert_eq!(val.arg1, 4);
1064+
assert_eq!(val.arg2, 0);
1065+
assert_eq!(val.mode, DetectUintMode::DetectUintModeEqual);
1066+
1067+
let(_, valeq) = detect_parse_uint_notending::<u8>("=4").unwrap();
1068+
assert_eq!(val, valeq);
1069+
}
10461070
}

0 commit comments

Comments
 (0)