This amounts to a char ** since it is a char[8] *. Evil casts mostly
resolved the fact that what was actually passed in were plain char *.
Instead, change the DES functions to use 'unsigned char *' for keys
and for input and output buffers.
Details
Details
- Reviewers
cem imp bz jmg - Commits
- rS351513: Stop using des_cblock * for arguments to DES functions.
- amd64 GENERIC builds, waiting for a tinderbox to finish
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Bit sad to be fixing DES in 2019 but unfortunately, this looks correct to me...
sys/crypto/des/des_setkey.c | ||
---|---|---|
70–88 ↗ | (On Diff #61196) | These routines must have been totally broken before? |
sys/crypto/des/des_setkey.c | ||
---|---|---|
70–88 ↗ | (On Diff #61196) | It would seem so unless code actually invoked them correctly (which is doubtful). I think the kgssapi code was using these but using a bogus cast such that they probably didn't work. Probably would have panicked if you used plain DES with kgssapi it looks like. |