]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
dissect: fix image policy check for bare dm-verity filesystem
authorLuca Boccassi <luca.boccassi@gmail.com>
Thu, 16 Oct 2025 13:59:50 +0000 (14:59 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Thu, 16 Oct 2025 14:50:45 +0000 (15:50 +0100)
The root_hash_sig pointer might be set, but to an empty iovec. Check
that the length is > 0 instead.

Follow-up for cd22d8562dd085f5c234cf26b4dd773029418833

src/shared/dissect-image.c

index de9475e6d3282423a10d760749448914c483f55e..be40c772608fefc9bde02ef4d42e111bc275291e 100644 (file)
@@ -881,7 +881,7 @@ static int dissect_image(
                         encrypted = streq_ptr(fstype, "crypto_LUKS");
 
                         if (verity_settings_data_covers(verity, PARTITION_ROOT))
-                                found_flags = verity->root_hash_sig ? PARTITION_POLICY_SIGNED : PARTITION_POLICY_VERITY;
+                                found_flags = verity->root_hash_sig_size > 0 ? PARTITION_POLICY_SIGNED : PARTITION_POLICY_VERITY;
                         else
                                 found_flags = encrypted ? PARTITION_POLICY_ENCRYPTED : PARTITION_POLICY_UNPROTECTED;