diff options
author | Guy Harris <guy@alum.mit.edu> | 2002-01-15 09:42:26 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2002-01-15 09:42:26 +0000 |
commit | c8f8db531fbddaaddd1064f55ef4296e84d4c8f2 (patch) | |
tree | af3835dbb0392a78f00967688be3fa15612538c8 /packet-smb.c | |
parent | 164e11c137fae76c1be9b485ed3a8b038b4104ef (diff) |
When checking whether to do DCERPC-over-SMB reassembly on a Read and X
response, don't assume that we saw the request and therefore that
"si->sip" is non-null - we might well not have seen the request and thus
might not have set "si->sip".
svn path=/trunk/; revision=4542
Diffstat (limited to 'packet-smb.c')
-rw-r--r-- | packet-smb.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/packet-smb.c b/packet-smb.c index f10a872ff1..ecd22f56f5 100644 --- a/packet-smb.c +++ b/packet-smb.c @@ -3,7 +3,7 @@ * Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com> * 2001 Rewrite by Ronnie Sahlberg and Guy Harris * - * $Id: packet-smb.c,v 1.192 2002/01/08 20:11:57 guy Exp $ + * $Id: packet-smb.c,v 1.193 2002/01/15 09:42:26 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -4723,11 +4723,12 @@ dissect_read_andx_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, BYTE_COUNT; /* is this part of DCERPC over SMB reassembly?*/ - if(smb_dcerpc_reassembly && !pinfo->fd->flags.visited && (bc<=tvb_length_remaining(tvb, offset)) ){ + if(smb_dcerpc_reassembly && !pinfo->fd->flags.visited + && (bc<=tvb_length_remaining(tvb, offset)) ){ guint32 frame; - frame=(guint32)g_hash_table_lookup(si->ct->dcerpc_fid_to_frame, - si->sip->extra_info); - if(frame){ + if (si->sip != NULL && (frame=(guint32)g_hash_table_lookup( + si->ct->dcerpc_fid_to_frame, + si->sip->extra_info)) != NULL) { fragment_data *fd_head; /* first fragment is always from a SMB Trans command and offset 0 of the following read/write SMB commands start @@ -15816,4 +15817,3 @@ proto_reg_handoff_smb(void) { heur_dissector_add("netbios", dissect_smb, proto_smb); } - |