Mercurial > flash_v2
changeset 865:6001f11af5db
* src/keytools.c (decode_keychange): Avoid undefined behaviour.
(encode_keychange): Ditto.
| author | jlarmour |
|---|---|
| date | Tue, 25 Mar 2003 04:14:51 +0000 |
| parents | c398056d144d |
| children | 14cc4c926c7e |
| files | packages/net/snmp/lib/current/ChangeLog packages/net/snmp/lib/current/src/keytools.c |
| diffstat | 2 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/net/snmp/lib/current/ChangeLog +++ b/packages/net/snmp/lib/current/ChangeLog @@ -1,3 +1,8 @@ +2003-03-24 Jonathan Larmour <jifl@eCosCentric.com> + + * src/keytools.c (decode_keychange): Avoid undefined behaviour. + (encode_keychange): Ditto. + 2003-02-28 Andrew Lunn <andrew.lunn@ascom.ch> * include/config.h: Make random use rand on FreeBSD.
--- a/packages/net/snmp/lib/current/src/keytools.c +++ b/packages/net/snmp/lib/current/src/keytools.c @@ -507,7 +507,8 @@ encode_keychange( oid *hashtype, u_int kcstring += properlength; nbytes = 0; while ((int)(nbytes++) < properlength) { - *kcstring++ = *kcstring ^ *newkey++; + u_char kcs = *kcstring; + *kcstring++ = kcs ^ *newkey++; } } @@ -624,7 +625,8 @@ decode_keychange( oid *hashtype, u_int bufp = kcstring+properlength; nbytes = 0; while ((int)(nbytes++) < properlength) { - *newkey++ = *newkey ^ *bufp++; + u_char nk = *newkey; + *newkey++ = nk ^ *bufp++; } }
