diff options
Diffstat (limited to 'util-linux/losetup.c')
-rw-r--r-- | util-linux/losetup.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/util-linux/losetup.c b/util-linux/losetup.c index b52d693ec..5dc757074 100644 --- a/util-linux/losetup.c +++ b/util-linux/losetup.c | |||
@@ -114,8 +114,14 @@ int losetup_main(int argc UNUSED_PARAM, char **argv) | |||
114 | /* contains -f */ | 114 | /* contains -f */ |
115 | if (opt & OPT_f) { | 115 | if (opt & OPT_f) { |
116 | char *s; | 116 | char *s; |
117 | int n = 0; | 117 | int n; |
118 | 118 | ||
119 | n = get_free_loop(); | ||
120 | if (n == -1) | ||
121 | bb_error_msg_and_die("no free loop devices"); | ||
122 | if (n < 0) /* n == -2: no /dev/loop-control, use legacy method */ | ||
123 | n = 0; | ||
124 | /* or: n >= 0: the number of next free loopdev, just verify it */ | ||
119 | do { | 125 | do { |
120 | if (n > MAX_LOOP_NUM) | 126 | if (n > MAX_LOOP_NUM) |
121 | bb_error_msg_and_die("no free loop devices"); | 127 | bb_error_msg_and_die("no free loop devices"); |