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:25 +00:00
parent 6be00c7e16
commit 0cae19f5ef

View File

@ -73,7 +73,7 @@ const char *PEM_version="PEM" OPENSSL_VERSION_PTEXT;
#define MIN_LENGTH 4 #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); static int check_pem(const char *nm, const char *name);
int PEM_def_callback(char *buf, int num, int w, void *key) int PEM_def_callback(char *buf, int num, int w, void *key)
@ -479,16 +479,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); PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO,PEM_R_UNSUPPORTED_ENCRYPTION);
return(0); 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(0);
return(1); 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; int v,i;
unsigned char *from; char *from;
from= *fromp; from= *fromp;
for (i=0; i<num; i++) to[i]=0; for (i=0; i<num; i++) to[i]=0;