File tree Expand file tree Collapse file tree 4 files changed +15
-2
lines changed
[funky-javahome]/nested/more*nested Expand file tree Collapse file tree 4 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -91,7 +91,7 @@ use std::env;
9191use std:: path:: PathBuf ;
9292use std:: process:: Command ;
9393
94- use glob:: glob;
94+ use glob:: { glob, Pattern } ;
9595use lazy_static:: lazy_static;
9696
9797pub mod errors;
@@ -252,7 +252,7 @@ pub fn locate_file(file_name: &str) -> errors::Result<String> {
252252 // Find the JAVA_HOME
253253 let java_home = locate_java_home ( ) ?;
254254
255- let query = format ! ( "{}/**/{}" , java_home, file_name) ;
255+ let query = format ! ( "{}/**/{}" , Pattern :: escape ( & java_home) , file_name) ;
256256
257257 let paths_vec: Vec < String > = glob ( & query) ?
258258 . filter_map ( Result :: ok)
Original file line number Diff line number Diff line change 1+ # test file for windows
Original file line number Diff line number Diff line change 1+ # Test file for unix
Original file line number Diff line number Diff line change 1+ use java_locator:: locate_jvm_dyn_library;
2+
3+ #[ test]
4+ fn test_javahome_can_be_escaped ( ) {
5+ println ! ( "{:?}" , std:: env:: current_dir( ) ) ;
6+ std:: env:: set_var ( "JAVA_HOME" , "tests/[funky-javahome]/nested" ) ;
7+ assert_eq ! (
8+ locate_jvm_dyn_library( ) . expect( "failed to located jvm library" ) ,
9+ "tests/[funky-javahome]/nested/more*nested"
10+ ) ;
11+ }
You can’t perform that action at this time.
0 commit comments