aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2008-10-13 06:56:27 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2008-10-13 06:56:27 +0000
commit49fe94aa3f38d512bc56f8dc3f5e299cb4feba6e (patch)
tree7136ba41c1c247d739c9ab7c547338aa5141da7f /asn1
parent7f36dc44ce5efad3f2ca7746ac3297bd7e3b5117 (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.c8
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;