diff options
Diffstat (limited to 'rustables/src/table.rs')
-rw-r--r-- | rustables/src/table.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/rustables/src/table.rs b/rustables/src/table.rs index dc09b5e..7cc475f 100644 --- a/rustables/src/table.rs +++ b/rustables/src/table.rs @@ -38,7 +38,11 @@ impl Table { pub fn get_name(&self) -> &CStr { unsafe { let ptr = sys::nftnl_table_get_str(self.table, sys::NFTNL_TABLE_NAME as u16); - CStr::from_ptr(ptr) + if ptr.is_null() { + panic!("Impossible situation: retrieving the name of a chain failed") + } else { + CStr::from_ptr(ptr) + } } } @@ -66,10 +70,11 @@ impl Table { pub fn get_userdata(&self) -> Option<&CStr> { unsafe { let ptr = sys::nftnl_table_get_str(self.table, sys::NFTNL_TABLE_USERDATA as u16); - if ptr == std::ptr::null() { - return None; + if !ptr.is_null() { + Some(CStr::from_ptr(ptr)) + } else { + None } - Some(CStr::from_ptr(ptr)) } } |