os-util: avoid matching on the wrong extension-release file

The previous commit tries to extract a substring from the
extension-release suffix, but that is not right, it's only the
images that need to be versioned and extracted, use the extension-release
suffix as-is. Otherwise if it happens to contain a prefix that
matches the wrong image, it will be taken into account.

Follow-up for 37543971af
This commit is contained in:
Luca Boccassi
2024-07-04 12:49:28 +02:00
committed by Luca Boccassi
parent 96110261ee
commit 92d1fe3efa
2 changed files with 13 additions and 8 deletions
+2 -8
View File
@@ -259,13 +259,7 @@ int open_extension_release_at(
}
if (!relax_extension_release_check) {
_cleanup_free_ char *base_image_name = NULL, *base_extension = NULL;
r = path_extract_image_name(image_name, &base_image_name);
if (r < 0) {
log_debug_errno(r, "Failed to extract image name from %s/%s, ignoring: %m", dir_path, de->d_name);
continue;
}
_cleanup_free_ char *base_extension = NULL;
r = path_extract_image_name(extension, &base_extension);
if (r < 0) {
@@ -273,7 +267,7 @@ int open_extension_release_at(
continue;
}
if (!streq(base_image_name, base_extension) &&
if (!streq(image_name, base_extension) &&
extension_release_strict_xattr_value(fd, dir_path, image_name) != 0)
continue;
}