aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2009-10-06 19:15:58 +0000
committerAnders Broman <anders.broman@ericsson.com>2009-10-06 19:15:58 +0000
commitbc9a809b65612063457f882a2d732707879ecb01 (patch)
tree012cd52cad567bcc246d8749709f1b72ebe86356 /asn1
parent0f4d4344dd770cf06b0c4aaa9f945acc99f314d5 (diff)
From Didier Gautheron:
ep memory can't be used for tvbs defined as data_source. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4054 svn path=/trunk/; revision=30376
Diffstat (limited to 'asn1')
-rw-r--r--asn1/spnego/packet-spnego-template.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/asn1/spnego/packet-spnego-template.c b/asn1/spnego/packet-spnego-template.c
index d88e58a41e..527d6fcd71 100644
--- a/asn1/spnego/packet-spnego-template.c
+++ b/asn1/spnego/packet-spnego-template.c
@@ -637,6 +637,7 @@ decrypt_gssapi_krb_arcfour_wrap(proto_tree *tree, packet_info *pinfo, tvbuff_t *
pinfo->gssapi_decrypted_tvb=tvb_new_child_real_data(tvb,
output_message_buffer,
ret, ret);
+ tvb_set_free_cb(pinfo->gssapi_decrypted_tvb, g_free);
add_new_data_source(pinfo, pinfo->gssapi_decrypted_tvb, "Decrypted GSS-Krb5");
return;
}
@@ -705,12 +706,11 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree _U_, packet_info *pinfo _U_, tvbuff
return;
}
- rotated = ep_alloc(tvb_length(tvb));
-
- tvb_memcpy(tvb, rotated, 0, tvb_length(tvb));
+ rotated = tvb_memdup(tvb, 0, tvb_length(tvb));
res = rrc_rotate(rotated, tvb_length(tvb), rrc, TRUE);
next_tvb=tvb_new_child_real_data(tvb, rotated, tvb_length(tvb), tvb_reported_length(tvb));
+ tvb_set_free_cb(next_tvb, g_free);
add_new_data_source(pinfo, next_tvb, "GSSAPI CFX");
output = decrypt_krb5_data(tree, pinfo, usage, next_tvb,
@@ -719,7 +719,7 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree _U_, packet_info *pinfo _U_, tvbuff
if (output) {
char *outdata;
- outdata = ep_alloc(tvb_length(tvb));
+ outdata = g_malloc(tvb_length(tvb));
memcpy(outdata, output, tvb_length(tvb));
g_free(output);
@@ -728,6 +728,7 @@ decrypt_gssapi_krb_cfx_wrap(proto_tree *tree _U_, packet_info *pinfo _U_, tvbuff
datalen-16,
datalen-16);
add_new_data_source(pinfo, pinfo->gssapi_decrypted_tvb, "Decrypted GSS-Krb5");
+ tvb_set_free_cb(pinfo->gssapi_decrypted_tvb, g_free);
return;
}
return;