aboutsummaryrefslogtreecommitdiff
path: root/util-linux/losetup.c
diff options
context:
space:
mode:
Diffstat (limited to 'util-linux/losetup.c')
-rw-r--r--util-linux/losetup.c8
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");