gpt-auto: handle errors from blkid more correctly
authorLennart Poettering <lennart@poettering.net>
Wed, 3 Feb 2016 19:34:04 +0000 (20:34 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 3 Feb 2016 22:58:25 +0000 (23:58 +0100)
Let's make sure we don't choke if blkid_probe_lookup_value() returns a NULL string.

Also, make sur we propagate the correct error when blkid_probe_lookup_value() fails.

src/gpt-auto-generator/gpt-auto-generator.c

index a1bad9f..9086ca5 100644 (file)
@@ -515,14 +515,15 @@ static int add_boot(const char *what) {
                 return log_error_errno(errno ?: EIO, "Failed to probe %s: %m", what);
 
         (void) blkid_probe_lookup_value(b, "TYPE", &fstype, NULL);
-        if (!streq(fstype, "vfat")) {
+        if (!streq_ptr(fstype, "vfat")) {
                 log_debug("Partition for /boot is not a FAT filesystem, ignoring.");
                 return 0;
         }
 
+        errno = 0;
         r = blkid_probe_lookup_value(b, "PART_ENTRY_UUID", &uuid, NULL);
         if (r != 0) {
-                log_debug_errno(r, "Partition for /boot does not have a UUID, ignoring. %m");
+                log_debug_errno(errno, "Partition for /boot does not have a UUID, ignoring.");
                 return 0;
         }