The first argument to load_iv should really be a char ** instead of an

unsigned char **, since it points at text.

Thanks to Nils Larsch <nils.larsch@cybertrust.com> for pointing out
the inelegance of our code :-)
This commit is contained in:
Richard Levitte 2005-01-27 11:42:28 +00:00
parent 97a1630e81
commit 8c3c570134

View File

@ -73,7 +73,7 @@ const char *PEM_version="PEM" OPENSSL_VERSION_PTEXT;
#define MIN_LENGTH 4
static int load_iv(unsigned char **fromp,unsigned char *to, int num);
static int load_iv(char **fromp,unsigned char *to, int num);
static int check_pem(const char *nm, const char *name);
int PEM_def_callback(char *buf, int num, int w, void *key)
@ -481,16 +481,16 @@ int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO,PEM_R_UNSUPPORTED_ENCRYPTION);
return(0);
}
if (!load_iv((unsigned char **)header_pp,&(cipher->iv[0]),enc->iv_len))
if (!load_iv(header_pp,&(cipher->iv[0]),enc->iv_len))
return(0);
return(1);
}
static int load_iv(unsigned char **fromp, unsigned char *to, int num)
static int load_iv(char **fromp, unsigned char *to, int num)
{
int v,i;
unsigned char *from;
char *from;
from= *fromp;
for (i=0; i<num; i++) to[i]=0;