]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rust: return empty slice without using from_raw_parts
authorPhilippe Antoine <pantoine@oisf.net>
Tue, 7 May 2024 08:18:14 +0000 (10:18 +0200)
committerPhilippe Antoine <pantoine@oisf.net>
Fri, 17 May 2024 06:42:32 +0000 (08:42 +0200)
As this triggers rustc 1.78
unsafe precondition(s) violated: slice::from_raw_parts requires
the pointer to be aligned and non-null,
and the total size of the slice not to exceed `isize::MAX`

Ticket: 7013
(cherry picked from commit 5dc8dea8695786daec491a6655f99c0791e47f5c)

rust/src/applayer.rs

index 97db321e2249a8eeb1473d7190552d8642cac24a..5284a6f6915b7f65d62752d79dfd5fa17415212a 100644 (file)
@@ -58,6 +58,9 @@ impl StreamSlice {
         self.input_len
     }
     pub fn as_slice(&self) -> &[u8] {
+        if self.input.is_null() && self.input_len == 0 {
+            return &[];
+        }
         unsafe { std::slice::from_raw_parts(self.input, self.input_len as usize) }
     }
     pub fn is_empty(&self) -> bool {