]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
blkid: stop device probing if error is detected
authorPetr Uzel <petr.uzel@suse.cz>
Thu, 17 May 2012 07:37:25 +0000 (09:37 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 23 May 2012 07:43:51 +0000 (09:43 +0200)
blkid -p dev1 dev2 [...] now stops upon first error detected and
returns correct value. Previously, if error was detected with dev1,
it continued with dev2 anyways and so the return value corresponded
to the last device only.

Reported-by: Bernhard Voelker <bernhard.voelker@siemens-enterprise.com>
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
misc-utils/blkid.c

index 52b2a4bc9da3302fbd9498c8b9d6088c9cfcbfae..25e6c00e8e8ebcd5eefef4da4ec27b29d4690df9 100644 (file)
@@ -868,11 +868,14 @@ int main(int argc, char **argv)
                                goto exit;
                }
 
-               for (i = 0; i < numdev; i++)
+               for (i = 0; i < numdev; i++) {
                        err = lowprobe_device(pr, devices[i], lowprobe, show,
                                        output_format,
                                        (blkid_loff_t) offset,
                                        (blkid_loff_t) size);
+                       if (err)
+                               break;
+               }
                blkid_free_probe(pr);
        } else if (eval) {
                /*