aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
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;