diff --git a/lib/luks2/luks2_json_metadata.c b/lib/luks2/luks2_json_metadata.c index b681ce21..52782f2f 100644 --- a/lib/luks2/luks2_json_metadata.c +++ b/lib/luks2/luks2_json_metadata.c @@ -447,15 +447,15 @@ static int hdr_validate_json_size(json_object *hdr_jobj) { json_object *jobj, *jobj1; const char *json; - size_t json_area_size, json_size; + uint64_t json_area_size, json_size; json_object_object_get_ex(hdr_jobj, "config", &jobj); json_object_object_get_ex(jobj, "json_size", &jobj1); json = json_object_to_json_string_ext(hdr_jobj, JSON_C_TO_STRING_PLAIN | JSON_C_TO_STRING_NOSLASHESCAPE); - json_area_size = (size_t)json_object_get_uint64(jobj1); - json_size = strlen(json); + json_area_size = json_object_get_uint64(jobj1); + json_size = (uint64_t)strlen(json); return json_size > json_area_size ? 1 : 0; } diff --git a/lib/luks2/luks2_keyslot.c b/lib/luks2/luks2_keyslot.c index f31980e5..1519ccaa 100644 --- a/lib/luks2/luks2_keyslot.c +++ b/lib/luks2/luks2_keyslot.c @@ -594,7 +594,7 @@ int LUKS2_keyslots_validate(json_object *hdr_jobj) json_object_object_get_ex(val, "type", &jobj_type); h = LUKS2_keyslot_handler_type(NULL, json_object_get_string(jobj_type)); if (!h) - return 0; + continue; if (h->validate && h->validate(NULL, val)) { log_dbg("Keyslot type %s validation failed on keyslot %d.", h->name, keyslot); return -EINVAL;