File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -314,4 +314,26 @@ mod tests {
314314 assert_eq ! ( expected, read_ec_version( & data, false ) ) ;
315315 assert_eq ! ( expected, read_ec_version( & data, true ) ) ;
316316 }
317+
318+ #[ test]
319+ // Make sure it doesn't crash when reading an invalid binary
320+ // Cargo.toml is significantly smaller than ec.bin
321+ fn fails_cargo_toml ( ) {
322+ let mut ec_bin_path = PathBuf :: from ( env ! ( "CARGO_MANIFEST_DIR" ) ) ;
323+ ec_bin_path. push ( "Cargo.toml" ) ;
324+ let data = fs:: read ( ec_bin_path) . unwrap ( ) ;
325+ assert_eq ! ( None , read_ec_version( & data, false ) ) ;
326+ assert_eq ! ( None , read_ec_version( & data, true ) ) ;
327+ }
328+
329+ #[ test]
330+ // Make sure it doesn't crash when reading an invalid binary
331+ // winux.bin is slightly larger than ec.bin
332+ fn fails_winux ( ) {
333+ let mut ec_bin_path = PathBuf :: from ( env ! ( "CARGO_MANIFEST_DIR" ) ) ;
334+ ec_bin_path. push ( "test_bins/winux.bin" ) ;
335+ let data = fs:: read ( ec_bin_path) . unwrap ( ) ;
336+ assert_eq ! ( None , read_ec_version( & data, false ) ) ;
337+ assert_eq ! ( None , read_ec_version( & data, true ) ) ;
338+ }
317339}
You can’t perform that action at this time.
0 commit comments