Wireshark-bugs: [Wireshark-bugs] [Bug 11387] Destination address for ZigBee packets have wrong c
Pascal Quantin
changed
bug 11387
What |
Removed |
Added |
CC |
|
eapache@gmail.com, pascal.quantin@gmail.com
|
Comment # 3
on bug 11387
from Pascal Quantin
For some reason it looks like the pinfo->pool wmem memory block created in
dissect_zbee_nwk_full() function gets freed (or corrupted?) before displaying
either the pinfo->src or pinfo->dst address.
The corresponding code in packet-zbee-nwk.c is:
/* Display the destination address. */
if ( (packet.dst == ZBEE_BCAST_ALL)
|| (packet.dst == ZBEE_BCAST_ACTIVE)
|| (packet.dst == ZBEE_BCAST_ROUTERS)){
dst_addr = wmem_strdup_printf(pinfo->pool, "Broadcast");
}
else {
dst_addr = wmem_strdup_printf(pinfo->pool, "0x%04x", packet.dst);
}
SET_ADDRESS(&pinfo->net_dst, AT_STRINGZ, (int)strlen(dst_addr)+1,
dst_addr);
COPY_ADDRESS_SHALLOW(&pinfo->dst, &pinfo->net_dst);
proto_item_append_text(proto_root, ", Dst: %s", dst_addr);
col_append_fstr(pinfo->cinfo, COL_INFO, ", Dst: %s", dst_addr);
Accodring to doc/README.wmem, using such scope for AT_STRINGZ is valid. And if
I use file scope instead of pinfo scope, there is no data corruption.
Evan, do you know if GTK UI might free pinfo->pool blocks too early?
You are receiving this mail because:
- You are watching all bug changes.