diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-05-29 02:55:12 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2005-05-29 02:55:12 +0000 |
commit | e66ff913ffb5801187e0832f8d5765c0227e3c51 (patch) | |
tree | cd7d07dba1dd90e047810555e155668fd5058425 /epan/dissectors/packet-ndmp.c | |
parent | fc9688991f6be8b81795d10c1fd12e4009a7821f (diff) |
make all callers of dissect_scsi_cdb() first create a new subset tvb
change the signature for dissect_scsi_cdb since we no longer need to pass offset over.
svn path=/trunk/; revision=14472
Diffstat (limited to 'epan/dissectors/packet-ndmp.c')
-rw-r--r-- | epan/dissectors/packet-ndmp.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/epan/dissectors/packet-ndmp.c b/epan/dissectors/packet-ndmp.c index 7e8b9dcf39..97041a2c20 100644 --- a/epan/dissectors/packet-ndmp.c +++ b/epan/dissectors/packet-ndmp.c @@ -1106,7 +1106,17 @@ dissect_execute_cdb_cdb(tvbuff_t *tvb, int offset, packet_info *pinfo, offset += 4; if (cdb_len != 0) { - dissect_scsi_cdb(tvb, pinfo, tree, offset, cdb_len, devtype, 0xffff); + tvbuff_t *cdb_tvb; + int tvb_len, tvb_rlen; + + tvb_len=tvb_length_remaining(tvb, offset); + if(tvb_len>16) + tvb_len=16; + tvb_rlen=tvb_reported_length_remaining(tvb, offset); + if(tvb_rlen>16) + tvb_rlen=16; + cdb_tvb=tvb_new_subset(tvb, offset, tvb_len, tvb_rlen); + dissect_scsi_cdb(cdb_tvb, pinfo, tree, devtype, 0xffff); offset += cdb_len_full; } |