diff options
-rw-r--r-- | libbb/find_root_device.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libbb/find_root_device.c b/libbb/find_root_device.c index 32c86cea8..8436cd664 100644 --- a/libbb/find_root_device.c +++ b/libbb/find_root_device.c | |||
@@ -29,14 +29,15 @@ static char *find_block_device_in_dir(struct arena *ap) | |||
29 | char *retpath = NULL; | 29 | char *retpath = NULL; |
30 | int len, rem; | 30 | int len, rem; |
31 | 31 | ||
32 | dir = opendir(ap->devpath); | ||
33 | if (!dir) | ||
34 | return NULL; | ||
35 | |||
36 | len = strlen(ap->devpath); | 32 | len = strlen(ap->devpath); |
37 | rem = DEVNAME_MAX-2 - len; | 33 | rem = DEVNAME_MAX-2 - len; |
38 | if (rem <= 0) | 34 | if (rem <= 0) |
39 | return NULL; | 35 | return NULL; |
36 | |||
37 | dir = opendir(ap->devpath); | ||
38 | if (!dir) | ||
39 | return NULL; | ||
40 | |||
40 | ap->devpath[len++] = '/'; | 41 | ap->devpath[len++] = '/'; |
41 | 42 | ||
42 | while ((entry = readdir(dir)) != NULL) { | 43 | while ((entry = readdir(dir)) != NULL) { |