]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cryptsetup-generator: continue parsing after error
authorDavid Tardon <dtardon@redhat.com>
Thu, 30 May 2024 08:46:13 +0000 (10:46 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 12 Jun 2024 09:46:39 +0000 (18:46 +0900)
Let's make the crypttab parser more robust and continue even if parsing
of a line failed.

src/cryptsetup/cryptsetup-generator.c

index d8065d8b93ca841fed100fd04d461ab5023545fe..6016e7580b80260444e20fd99cb3c60a4479c570 100644 (file)
@@ -844,7 +844,7 @@ static int add_crypttab_device(const char *name, const char *device,  const char
 static int add_crypttab_devices(void) {
         _cleanup_fclose_ FILE *f = NULL;
         unsigned crypttab_line = 0;
-        int r;
+        int r, ret = 0;
 
         if (!arg_read_crypttab)
                 return 0;
@@ -877,12 +877,10 @@ static int add_crypttab_devices(void) {
                         continue;
                 }
 
-                r = add_crypttab_device(name, device, keyspec, options);
-                if (r < 0)
-                        return r;
+                RET_GATHER(ret, add_crypttab_device(name, device, keyspec, options));
         }
 
-        return 0;
+        return ret;
 }
 
 static int add_proc_cmdline_devices(void) {