aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/file-elf.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-11-23 23:58:24 +0100
committerMichael Mann <mmann78@netscape.net>2014-11-23 23:49:28 +0000
commitec650d45a930ff5e67f5f37aa54d5bfb010dda1d (patch)
treedaf691bf5d362334b7a92f17b02a39162017c30e /epan/dissectors/file-elf.c
parent4d55e1f455bc2c087b74d237a1da7914c2cfb915 (diff)
elf: separate ett for program and sections entries
This makes it easier to focus on a single section entry, collapsing all other entries. Change-Id: I3de72065eb279e9449496a7224508e5be85c3757 Reviewed-on: https://code.wireshark.org/review/5456 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/file-elf.c')
-rw-r--r--epan/dissectors/file-elf.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/epan/dissectors/file-elf.c b/epan/dissectors/file-elf.c
index f6fa9772be..6f5288709f 100644
--- a/epan/dissectors/file-elf.c
+++ b/epan/dissectors/file-elf.c
@@ -185,7 +185,9 @@ static expert_field ei_invalid_entry_size = EI_INIT;
static gint ett_elf = -1;
static gint ett_elf_header = -1;
static gint ett_elf_program_header = -1;
+static gint ett_elf_program_header_entry = -1;
static gint ett_elf_section_header = -1;
+static gint ett_elf_section_header_entry = -1;
static gint ett_elf_segment = -1;
static gint ett_elf_cie = -1;
static gint ett_elf_fde = -1;
@@ -1294,15 +1296,18 @@ dissect_elf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
p_type = (machine_encoding == ENC_BIG_ENDIAN) ?
tvb_get_ntohl(tvb, offset) : tvb_get_letohl(tvb, offset);
if (p_type >= 0x60000000 && p_type <= 0x6FFFFFFF) {
- ph_entry_tree = proto_tree_add_subtree_format(program_header_tree, tvb, offset, phentsize, ett_elf_program_header, NULL,
+ ph_entry_tree = proto_tree_add_subtree_format(program_header_tree,
+ tvb, offset, phentsize, ett_elf_program_header_entry, NULL,
"Entry #%d: Operating System Specific (0x%08x)", phnum - i_16 - 1, p_type);
proto_tree_add_item(ph_entry_tree, hf_elf_p_type_operating_system_specific, tvb, offset, 4, machine_encoding);
} else if (p_type >= 0x70000000 && p_type <= 0x7FFFFFFF) {
- ph_entry_tree = proto_tree_add_subtree_format(program_header_tree, tvb, offset, phentsize, ett_elf_program_header, NULL,
+ ph_entry_tree = proto_tree_add_subtree_format(program_header_tree,
+ tvb, offset, phentsize, ett_elf_program_header_entry, NULL,
"Entry #%d: Processor Specific (0x%08x)", phnum - i_16 - 1, p_type);
proto_tree_add_item(ph_entry_tree, hf_elf_p_type_processor_specific, tvb, offset, 4, machine_encoding);
} else {
- ph_entry_tree = proto_tree_add_subtree_format(program_header_tree, tvb, offset, phentsize, ett_elf_program_header, NULL,
+ ph_entry_tree = proto_tree_add_subtree_format(program_header_tree,
+ tvb, offset, phentsize, ett_elf_program_header_entry, NULL,
"Entry #%d: %s", phnum - i_16 - 1,
val_to_str_const(p_type, p_type_vals, "Unknown"));
proto_tree_add_item(ph_entry_tree, hf_elf_p_type, tvb, offset, 4, machine_encoding);
@@ -1453,7 +1458,8 @@ dissect_elf(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
i_16 = shnum;
while (i_16-- > 0) {
sh_entry_tree = proto_tree_add_subtree_format(section_header_tree, tvb, offset, shentsize,
- ett_elf_section_header, &sh_entry_item, "Entry #%d: ", shnum - i_16 - 1);
+ ett_elf_section_header_entry, &sh_entry_item,
+ "Entry #%d: ", shnum - i_16 - 1);
proto_tree_add_item(sh_entry_tree, hf_elf_sh_name, tvb, offset, 4, machine_encoding);
sh_name = (machine_encoding == ENC_BIG_ENDIAN) ?
@@ -2372,7 +2378,9 @@ proto_register_elf(void)
&ett_elf,
&ett_elf_header,
&ett_elf_program_header,
+ &ett_elf_program_header_entry,
&ett_elf_section_header,
+ &ett_elf_section_header_entry,
&ett_elf_segment,
&ett_elf_cie,
&ett_elf_fde,