diff --git a/src/api/encryption_keys_get.c b/src/api/encryption_keys_get.c index ec13c32a95b9f21d89f3d71aed438847ec856f3a..6a2ce3539b58de87831fff7695ecfec2a10932ef 100644 --- a/src/api/encryption_keys_get.c +++ b/src/api/encryption_keys_get.c @@ -34,7 +34,14 @@ int callback_encryption_keys_get(const struct _u_request * request, bool in_use; bool last_used; int keyslot = 0; - for (keyslot = 0; keyslot <= crypt_keyslot_max(CRYPT_LUKS1); keyslot++) + int keyslot_max = crypt_keyslot_max(CRYPT_LUKS1); + if (keyslot_max < 0) + { + return send_simple_response(response, 500, "error", + "crypt_keyslot_max failed"); + } + + for (keyslot = 0; keyslot < keyslot_max; keyslot++) { // Create new json object containing info for this keyslot. key = json_object();