1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00

Fix pasto in ssh2_mac_setkey, and start using it.

The macro wrapper for the MAC setkey function expanded to completely
the wrong vtable method due to a cut and paste error. And I never
noticed, because what _should_ have been its two call sites in
ssh2bpp.c were directly calling the _right_ vtable method instead.
This commit is contained in:
Simon Tatham 2019-01-02 08:54:07 +00:00
parent 2ee23472ce
commit 606cf4c22b
2 changed files with 3 additions and 3 deletions

2
ssh.h
View File

@ -726,7 +726,7 @@ struct ssh2_macalg {
#define ssh2_mac_new(alg, cipher) ((alg)->new(alg, cipher))
#define ssh2_mac_free(ctx) ((ctx)->vt->free(ctx))
#define ssh2_mac_setkey(ctx, key) ((ctx)->vt->free(ctx, key))
#define ssh2_mac_setkey(ctx, key) ((ctx)->vt->setkey(ctx, key))
#define ssh2_mac_start(ctx) ((ctx)->vt->start(ctx))
#define ssh2_mac_genresult(ctx, out) ((ctx)->vt->genresult(ctx, out))
#define ssh2_mac_alg(ctx) ((ctx)->vt)

View File

@ -122,7 +122,7 @@ void ssh2_bpp_new_outgoing_crypto(
s->out.etm_mode = etm_mode;
if (mac) {
s->out.mac = ssh2_mac_new(mac, s->out.cipher);
mac->setkey(s->out.mac, mac_key);
ssh2_mac_setkey(s->out.mac, mac_key);
bpp_logevent("Initialised %s outbound MAC algorithm%s%s",
ssh2_mac_alg(s->out.mac)->text_name,
@ -184,7 +184,7 @@ void ssh2_bpp_new_incoming_crypto(
s->in.etm_mode = etm_mode;
if (mac) {
s->in.mac = ssh2_mac_new(mac, s->in.cipher);
mac->setkey(s->in.mac, mac_key);
ssh2_mac_setkey(s->in.mac, mac_key);
bpp_logevent("Initialised %s inbound MAC algorithm%s%s",
ssh2_mac_alg(s->in.mac)->text_name,