RT4320/GH705: Fix PEM parsing bug.
Also removing confusing pointer-alias variable. Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
ed233db742
commit
985c314696
1 changed files with 2 additions and 3 deletions
|
@ -489,7 +489,6 @@ int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
|
||||||
{
|
{
|
||||||
const EVP_CIPHER *enc = NULL;
|
const EVP_CIPHER *enc = NULL;
|
||||||
char *dekinfostart, c;
|
char *dekinfostart, c;
|
||||||
char **header_pp = &header;
|
|
||||||
|
|
||||||
cipher->cipher = NULL;
|
cipher->cipher = NULL;
|
||||||
if ((header == NULL) || (*header == '\0') || (*header == '\n'))
|
if ((header == NULL) || (*header == '\0') || (*header == '\n'))
|
||||||
|
@ -536,13 +535,13 @@ int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
|
||||||
}
|
}
|
||||||
*header = '\0';
|
*header = '\0';
|
||||||
cipher->cipher = enc = EVP_get_cipherbyname(dekinfostart);
|
cipher->cipher = enc = EVP_get_cipherbyname(dekinfostart);
|
||||||
*header = c;
|
*header++ = c;
|
||||||
|
|
||||||
if (enc == NULL) {
|
if (enc == NULL) {
|
||||||
PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_UNSUPPORTED_ENCRYPTION);
|
PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO, PEM_R_UNSUPPORTED_ENCRYPTION);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
if (!load_iv(header_pp, &(cipher->iv[0]), EVP_CIPHER_iv_length(enc)))
|
if (!load_iv(&header, cipher->iv, EVP_CIPHER_iv_length(enc)))
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
return (1);
|
return (1);
|
||||||
|
|
Loading…
Reference in a new issue