diff options
author | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-10-13 06:56:27 +0000 |
---|---|---|
committer | Jaap Keuter <jaap.keuter@xs4all.nl> | 2008-10-13 06:56:27 +0000 |
commit | 49fe94aa3f38d512bc56f8dc3f5e299cb4feba6e (patch) | |
tree | 7136ba41c1c247d739c9ab7c547338aa5141da7f /asn1 | |
parent | 7f36dc44ce5efad3f2ca7746ac3297bd7e3b5117 (diff) |
Fix for bug 2823
Do not pass automatic variables back into caller space.
svn path=/trunk/; revision=26426
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/snmp/packet-snmp-template.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/asn1/snmp/packet-snmp-template.c b/asn1/snmp/packet-snmp-template.c index 2a992006a8..a73f86ae63 100644 --- a/asn1/snmp/packet-snmp-template.c +++ b/asn1/snmp/packet-snmp-template.c @@ -1120,7 +1120,7 @@ static gboolean snmp_usm_auth_md5(snmp_usm_params_t* p, guint8** calc_auth_p, gu guint8* auth; guint8* key; guint key_len; - guint8 calc_auth[16]; + guint8 *calc_auth; guint start; guint end; guint i; @@ -1160,6 +1160,8 @@ static gboolean snmp_usm_auth_md5(snmp_usm_params_t* p, guint8** calc_auth_p, gu msg[i] = '\0'; } + calc_auth = ep_alloc(16); + md5_hmac(msg, msg_len, key, key_len, calc_auth); if (calc_auth_p) *calc_auth_p = calc_auth; @@ -1176,7 +1178,7 @@ static gboolean snmp_usm_auth_sha1(snmp_usm_params_t* p _U_, guint8** calc_auth_ guint8* auth; guint8* key; guint key_len; - guint8 calc_auth[20]; + guint8 *calc_auth; guint start; guint end; guint i; @@ -1216,6 +1218,8 @@ static gboolean snmp_usm_auth_sha1(snmp_usm_params_t* p _U_, guint8** calc_auth_ msg[i] = '\0'; } + calc_auth = ep_alloc(20); + sha1_hmac(key, key_len, msg, msg_len, calc_auth); if (calc_auth_p) *calc_auth_p = calc_auth; |