File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -675,6 +675,11 @@ pub fn mkdir_recursive(p: &Path, mode: c_int) -> bool {
675
675
/// Lists the contents of a directory
676
676
#[ allow( non_implicitly_copyable_typarams) ]
677
677
pub fn list_dir ( p : & Path ) -> ~[ ~str ] {
678
+ if p. components . is_empty ( ) {
679
+ // Not sure what the right behavior is here, but this
680
+ // prevents a bounds check failure later
681
+ return ~[ ] ;
682
+ }
678
683
unsafe {
679
684
#[ cfg( target_os = "linux" ) ]
680
685
#[ cfg( target_os = "android" ) ]
@@ -1596,6 +1601,12 @@ mod tests {
1596
1601
}
1597
1602
}
1598
1603
1604
+ #[test]
1605
+ fn list_dir_empty_path() {
1606
+ let dirs = os::list_dir(&Path(" "));
1607
+ assert!(dirs.is_empty());
1608
+ }
1609
+
1599
1610
#[test]
1600
1611
fn path_is_dir() {
1601
1612
assert!((os::path_is_dir(&Path(" . "))));
You can’t perform that action at this time.
0 commit comments