@@ -5,7 +5,7 @@ use std::collections::HashMap;
55use  std:: io:: Read ; 
66use  std:: sync:: Arc ; 
77
8- use  bincode:: { DefaultOptions ,  Error   as   BincodeError ,   Options } ; 
8+ use  bincode:: { DefaultOptions ,  Options } ; 
99
1010/// Each BPF instruction is 8 bytes long and 4 byte aligned. 
1111/// This alignment needs to be satisfied in order for a BPF code to be accepted 
@@ -21,6 +21,9 @@ pub type BpfProgramRef<'a> = &'a [BpfInstruction];
2121/// Type that associates a thread category to a BPF program. 
2222pub  type  BpfThreadMap  = HashMap < String ,  Arc < BpfProgram > > ; 
2323
24+ /// Binary filter deserialization errors. 
25+ pub  type  DeserializationError  = bincode:: Error ; 
26+ 
2427/// Retrieve empty seccomp filters. 
2528pub  fn  get_empty_filters ( )  -> BpfThreadMap  { 
2629    let  mut  map = BpfThreadMap :: new ( ) ; 
@@ -30,13 +33,6 @@ pub fn get_empty_filters() -> BpfThreadMap {
3033    map
3134} 
3235
33- /// Binary filter deserialization errors. 
34- #[ derive( Debug ,  thiserror:: Error ,  displaydoc:: Display ) ]  
35- pub  enum  DeserializationError  { 
36-     /// Bincode deserialization failed: {0} 
37-      Bincode ( BincodeError ) , 
38- } 
39- 
4036/// Deserialize binary with bpf filters 
4137pub  fn  deserialize_binary < R :  Read > ( 
4238    reader :  R , 
@@ -50,8 +46,7 @@ pub fn deserialize_binary<R: Read>(
5046            . deserialize_from :: < R ,  HashMap < String ,  BpfProgram > > ( reader) , 
5147        // No limit is the default. 
5248        None  => bincode:: deserialize_from :: < R ,  HashMap < String ,  BpfProgram > > ( reader) , 
53-     } 
54-     . map_err ( DeserializationError :: Bincode ) ?; 
49+     } ?; 
5550
5651    Ok ( result
5752        . into_iter ( ) 
@@ -169,7 +164,7 @@ mod tests {
169164            // Binary limit too low. 
170165            assert ! ( matches!( 
171166                deserialize_binary( & bytes[ ..] ,  Some ( 20 ) ) . unwrap_err( ) , 
172-                 DeserializationError :: Bincode ( error) 
167+                 error
173168                    if  error. to_string( )  == "the size limit has been reached" 
174169            ) ) ; 
175170
0 commit comments