diff options
author | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2012-12-02 02:46:12 +0000 |
---|---|---|
committer | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2012-12-02 02:46:12 +0000 |
commit | a92bbbcd5c3fe7a00646b30643f6da8beadc2537 (patch) | |
tree | 3e8dc93f4f380c1fa5ad221699ea286c016b1502 | |
parent | e2c9d02ba8324c8a0ab45e6f1f0c4ba2a9ba2bc1 (diff) |
Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8030 :
Don't store an AT_STRINGZ address in ep_ allocated memory: that memory is
freed before the addresses may be used. Use se_ memory instead (no, that's
not really ideal either).
It would appear that several other dissectors have the same problem.
svn path=/trunk/; revision=46320
-rw-r--r-- | epan/dissectors/packet-bthci_acl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/epan/dissectors/packet-bthci_acl.c b/epan/dissectors/packet-bthci_acl.c index e5051f3cb6..9aec04aa3c 100644 --- a/epan/dissectors/packet-bthci_acl.c +++ b/epan/dissectors/packet-bthci_acl.c @@ -187,7 +187,7 @@ dissect_bthci_acl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) remote_ether_addr = get_ether_name(remote_bdaddr->bd_addr); remote_length = (gint)(strlen(remote_ether_addr) + 3 + strlen(remote_name) + 1); - remote_addr_name = ep_alloc(remote_length); + remote_addr_name = se_alloc(remote_length); g_snprintf(remote_addr_name, remote_length, "%s (%s)", remote_ether_addr, remote_name); @@ -238,7 +238,7 @@ dissect_bthci_acl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) localhost_name = ""; localhost_length = (gint)(strlen(localhost_ether_addr) + 3 + strlen(localhost_name) + 1); - localhost_addr_name = ep_alloc(localhost_length); + localhost_addr_name = se_alloc(localhost_length); g_snprintf(localhost_addr_name, localhost_length, "%s (%s)", localhost_ether_addr, localhost_name); |