Change type of various DES function arguments from des_cblock
(meaning pointer to char) to des_cblock * (meaning pointer to array with 8 char elements), which allows the compiler to do more typechecking. (The changed argument types were of type des_cblock * back in SSLeay, and a lot of ugly casts were used then to turn them into pointers to elements; but it can be done without those casts.) Introduce new type const_des_cblock -- before, the pointers rather than the elements pointed to were declared const, and for some reason gcc did not complain about this (but some other compilers did).
This commit is contained in:
@@ -66,16 +66,17 @@ int _des_crypt(char *buf, int len, struct desparams *desp)
|
||||
des_key_schedule ks;
|
||||
int enc;
|
||||
|
||||
des_set_key(desp->des_key,ks);
|
||||
des_set_key(&desp->des_key,ks);
|
||||
enc=(desp->des_dir == ENCRYPT)?DES_ENCRYPT:DES_DECRYPT;
|
||||
|
||||
if (desp->des_mode == CBC)
|
||||
des_ecb_encrypt(desp->UDES.UDES_buf,desp->UDES.UDES_buf,ks,
|
||||
des_ecb_encrypt((const_des_cblock *)desp->UDES.UDES_buf,
|
||||
(des_cblock *)desp->UDES.UDES_buf,ks,
|
||||
enc);
|
||||
else
|
||||
{
|
||||
des_ncbc_encrypt(desp->UDES.UDES_buf,desp->UDES.UDES_buf,
|
||||
len,ks,desp->des_ivec,enc);
|
||||
len,ks,&desp->des_ivec,enc);
|
||||
#ifdef undef
|
||||
/* len will always be %8 if called from common_crypt
|
||||
* in secure_rpc.
|
||||
|
||||
Reference in New Issue
Block a user