diff --git a/lib/ykpiv.c b/lib/ykpiv.c index 854ccc1..258fa0a 100644 --- a/lib/ykpiv.c +++ b/lib/ykpiv.c @@ -1695,7 +1695,8 @@ ykpiv_rc ykpiv_import_private_key(ykpiv_state *state, const unsigned char key, u padding = elem_len - lens[i]; remaining = (uintptr_t)key_data + sizeof(key_data) - (uintptr_t)in_ptr; if (padding > remaining) { - return YKPIV_ALGORITHM_ERROR; + res = YKPIV_ALGORITHM_ERROR; + goto Cleanup; } memset(in_ptr, 0, padding); in_ptr += padding;