projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RT2210: Add missing EVP_cleanup to example
[oweals/openssl.git]
/
crypto
/
pem
/
pem_lib.c
diff --git
a/crypto/pem/pem_lib.c
b/crypto/pem/pem_lib.c
index 18cde7c2d9fb06d522af50cb4e5000785d1753c3..2d328b4d36c4b997a3ab716f82006caca00f007f 100644
(file)
--- a/
crypto/pem/pem_lib.c
+++ b/
crypto/pem/pem_lib.c
@@
-236,6
+236,9
@@
static int check_pem(const char *nm, const char *name)
}
return 0;
}
}
return 0;
}
+ /* If reading DH parameters handle X9.42 DH format too */
+ if(!strcmp(nm,PEM_STRING_DHXPARAMS) &&
+ !strcmp(name,PEM_STRING_DHPARAMS)) return 1;
/* Permit older strings */
/* Permit older strings */
@@
-477,8
+480,9
@@
int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *plen,
EVP_CIPHER_CTX_cleanup(&ctx);
OPENSSL_cleanse((char *)buf,sizeof(buf));
OPENSSL_cleanse((char *)key,sizeof(key));
EVP_CIPHER_CTX_cleanup(&ctx);
OPENSSL_cleanse((char *)buf,sizeof(buf));
OPENSSL_cleanse((char *)key,sizeof(key));
- j+=i;
- if (!o)
+ if (o)
+ j+=i;
+ else
{
PEMerr(PEM_F_PEM_DO_HEADER,PEM_R_BAD_DECRYPT);
return(0);
{
PEMerr(PEM_F_PEM_DO_HEADER,PEM_R_BAD_DECRYPT);
return(0);
@@
-489,7
+493,6
@@
int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *plen,
int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
{
int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
{
- int o;
const EVP_CIPHER *enc=NULL;
char *p,c;
char **header_pp = &header;
const EVP_CIPHER *enc=NULL;
char *p,c;
char **header_pp = &header;
@@
-529,7
+532,6
@@
int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
header++;
}
*header='\0';
header++;
}
*header='\0';
- o=OBJ_sn2nid(p);
cipher->cipher=enc=EVP_get_cipherbyname(p);
*header=c;
header++;
cipher->cipher=enc=EVP_get_cipherbyname(p);
*header=c;
header++;
@@
-575,8
+577,8
@@
static int load_iv(char **fromp, unsigned char *to, int num)
}
#ifndef OPENSSL_NO_FP_API
}
#ifndef OPENSSL_NO_FP_API
-int PEM_write(FILE *fp, c
har *name, char *header, unsigned char *data
,
- long len)
+int PEM_write(FILE *fp, c
onst char *name, const char *header
,
+
const unsigned char *data,
long len)
{
BIO *b;
int ret;
{
BIO *b;
int ret;
@@
-593,8
+595,8
@@
int PEM_write(FILE *fp, char *name, char *header, unsigned char *data,
}
#endif
}
#endif
-int PEM_write_bio(BIO *bp, const char *name, c
har *header, unsigned char *data
,
- long len)
+int PEM_write_bio(BIO *bp, const char *name, c
onst char *header
,
+
const unsigned char *data,
long len)
{
int nlen,n,i,j,outl;
unsigned char *buf = NULL;
{
int nlen,n,i,j,outl;
unsigned char *buf = NULL;