diff --git a/crypto/evp_extra/p_pqdsa.c b/crypto/evp_extra/p_pqdsa.c index 6ac3ca713c..8152c457f8 100644 --- a/crypto/evp_extra/p_pqdsa.c +++ b/crypto/evp_extra/p_pqdsa.c @@ -59,6 +59,8 @@ static int pkey_pqdsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) { static int pkey_pqdsa_sign_generic(EVP_PKEY_CTX *ctx, uint8_t *sig, size_t *sig_len, const uint8_t *message, size_t message_len, int sign_digest) { + GUARD_PTR(sig_len); + PQDSA_PKEY_CTX *dctx = ctx->data; const PQDSA *pqdsa = dctx->pqdsa; if (pqdsa == NULL) { @@ -71,10 +73,8 @@ static int pkey_pqdsa_sign_generic(EVP_PKEY_CTX *ctx, uint8_t *sig, // Caller is getting parameter values. if (sig == NULL) { - if (sig_len != NULL) { - *sig_len = pqdsa->signature_len; - return 1; - } + *sig_len = pqdsa->signature_len; + return 1; } if (*sig_len != pqdsa->signature_len) { diff --git a/crypto/pkcs8/pkcs8_x509.c b/crypto/pkcs8/pkcs8_x509.c index 86148739c6..2e7148c45e 100644 --- a/crypto/pkcs8/pkcs8_x509.c +++ b/crypto/pkcs8/pkcs8_x509.c @@ -188,7 +188,7 @@ X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, const char *pass, int pass_len_in, const uint8_t *salt, size_t salt_len, int iterations, PKCS8_PRIV_KEY_INFO *p8inf) { size_t pass_len; - if (pass_len_in == -1 && pass != NULL) { + if (pass_len_in < 0 && pass != NULL) { pass_len = strlen(pass); } else { pass_len = (size_t)pass_len_in;