diff options
author | Gerald Combs <gerald@wireshark.org> | 2005-04-16 21:54:32 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2005-04-16 21:54:32 +0000 |
commit | 83f3aa6e082bea11de6bfe7c9c8ede419a2aff55 (patch) | |
tree | 6c5bfed8fc78f85ff40462f798d09689464b18d9 /gtk/smb_stat.c | |
parent | 3625956f52d2e29e20f3858330a8165e0c1683db (diff) |
Add an extra_info_type field to smb_extra_info_t so that we can make
sure we're not referencing a fid when we think we're referencing an
smb_nt_transact_info_t pointer. (A fuzzed capture I have triggers
this behavior).
svn path=/trunk/; revision=14107
Diffstat (limited to 'gtk/smb_stat.c')
-rw-r--r-- | gtk/smb_stat.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gtk/smb_stat.c b/gtk/smb_stat.c index 4b87d871d7..f4036d22c8 100644 --- a/gtk/smb_stat.c +++ b/gtk/smb_stat.c @@ -101,13 +101,13 @@ smbstat_packet(void *pss, packet_info *pinfo, epan_dissect_t *edt _U_, const voi add_srt_table_data(&ss->smb_srt_table, si->cmd, &si->sip->req_time, pinfo); - if(si->cmd==0xA0){ + if(si->cmd==0xA0 && si->sip->extra_info_type == SMB_EI_NTI){ smb_nt_transact_info_t *sti=(smb_nt_transact_info_t *)si->sip->extra_info; if(sti){ add_srt_table_data(&ss->nt_trans_srt_table, sti->subcmd, &si->sip->req_time, pinfo); } - } else if(si->cmd==0x32){ + } else if(si->cmd==0x32 && si->sip->extra_info == SMB_EI_T2I){ smb_transact2_info_t *st2i=(smb_transact2_info_t *)si->sip->extra_info; if(st2i){ |