File tree Expand file tree Collapse file tree
gix-config/fuzz/fuzz_targets Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -67,6 +67,11 @@ impl TryFrom<&BStr> for Integer {
6767 return Err ( int_err ( s) ) ;
6868 }
6969
70+ let last_idx = s. len ( ) - 1 ;
71+ if !s. is_char_boundary ( last_idx) {
72+ return Err ( int_err ( s) ) ;
73+ }
74+
7075 let ( number, suffix) = s. split_at ( s. len ( ) - 1 ) ;
7176 if let ( Ok ( value) , Ok ( suffix) ) = ( number. parse ( ) , suffix. parse ( ) ) {
7277 Ok ( Self {
Original file line number Diff line number Diff line change @@ -53,6 +53,7 @@ fn invalid_from_str() {
5353 assert ! ( Integer :: try_from( b( "g" ) ) . is_err( ) ) ;
5454 assert ! ( Integer :: try_from( b( "123123123123123123123123" ) ) . is_err( ) ) ;
5555 assert ! ( Integer :: try_from( b( "gg" ) ) . is_err( ) ) ;
56+ assert ! ( Integer :: try_from( b( "™️🤦♂️" ) ) . is_err( ) ) ;
5657}
5758
5859#[ test]
Original file line number Diff line number Diff line change @@ -8,8 +8,6 @@ use gix_config::{
88 File ,
99} ;
1010use libfuzzer_sys:: fuzz_target;
11- use std:: error:: Error ;
12- use std:: fmt;
1311use std:: hint:: black_box;
1412
1513#[ derive( Arbitrary , Debug ) ]
You can’t perform that action at this time.
0 commit comments