mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-12-06 13:20:57 +03:00
mlkem768: Fix missing jumps in error handling
Signed-off-by: Pavol Žáčik <pzacik@redhat.com> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
This commit is contained in:
@@ -79,6 +79,7 @@ static int mlkem768_keypair_gen(ssh_mlkem768_pubkey pubkey,
|
|||||||
SSH_LOG(SSH_LOG_WARNING,
|
SSH_LOG(SSH_LOG_WARNING,
|
||||||
"Failed to initialize ML-KEM-768 keygen: %s",
|
"Failed to initialize ML-KEM-768 keygen: %s",
|
||||||
ERR_error_string(ERR_get_error(), NULL));
|
ERR_error_string(ERR_get_error(), NULL));
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = EVP_PKEY_keygen(ctx, &pkey);
|
rc = EVP_PKEY_keygen(ctx, &pkey);
|
||||||
@@ -86,6 +87,7 @@ static int mlkem768_keypair_gen(ssh_mlkem768_pubkey pubkey,
|
|||||||
SSH_LOG(SSH_LOG_WARNING,
|
SSH_LOG(SSH_LOG_WARNING,
|
||||||
"Failed to perform ML-KEM-768 keygen: %s",
|
"Failed to perform ML-KEM-768 keygen: %s",
|
||||||
ERR_error_string(ERR_get_error(), NULL));
|
ERR_error_string(ERR_get_error(), NULL));
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = EVP_PKEY_get_raw_public_key(pkey, pubkey, &pubkey_len);
|
rc = EVP_PKEY_get_raw_public_key(pkey, pubkey, &pubkey_len);
|
||||||
@@ -93,6 +95,7 @@ static int mlkem768_keypair_gen(ssh_mlkem768_pubkey pubkey,
|
|||||||
SSH_LOG(SSH_LOG_WARNING,
|
SSH_LOG(SSH_LOG_WARNING,
|
||||||
"Failed to extract ML-KEM-768 public key: %s",
|
"Failed to extract ML-KEM-768 public key: %s",
|
||||||
ERR_error_string(ERR_get_error(), NULL));
|
ERR_error_string(ERR_get_error(), NULL));
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = EVP_PKEY_get_raw_private_key(pkey, privkey, &privkey_len);
|
rc = EVP_PKEY_get_raw_private_key(pkey, privkey, &privkey_len);
|
||||||
@@ -100,6 +103,7 @@ static int mlkem768_keypair_gen(ssh_mlkem768_pubkey pubkey,
|
|||||||
SSH_LOG(SSH_LOG_WARNING,
|
SSH_LOG(SSH_LOG_WARNING,
|
||||||
"Failed to extract ML-KEM-768 private key: %s",
|
"Failed to extract ML-KEM-768 private key: %s",
|
||||||
ERR_error_string(ERR_get_error(), NULL));
|
ERR_error_string(ERR_get_error(), NULL));
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = SSH_OK;
|
ret = SSH_OK;
|
||||||
@@ -184,6 +188,7 @@ static int mlkem768_decapsulate(const ssh_mlkem768_privkey privkey,
|
|||||||
SSH_LOG(SSH_LOG_WARNING,
|
SSH_LOG(SSH_LOG_WARNING,
|
||||||
"Failed to create ML-KEM-768 context: %s",
|
"Failed to create ML-KEM-768 context: %s",
|
||||||
ERR_error_string(ERR_get_error(), NULL));
|
ERR_error_string(ERR_get_error(), NULL));
|
||||||
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx = EVP_PKEY_CTX_new_from_pkey(NULL, pkey, NULL);
|
ctx = EVP_PKEY_CTX_new_from_pkey(NULL, pkey, NULL);
|
||||||
|
|||||||
Reference in New Issue
Block a user