aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2003-04-18 06:34:42 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2003-04-18 06:34:42 +0000
commit4014f31bb73d120e1b100234682126358f8e672d (patch)
tree8eb09e8226b42a29b3a6db4bb5cdcc3ea2bf4d8a /packet-rpc.c
parent37e401385ce1196fb6ef71c4896a4ffa6b421185 (diff)
Fix a problem where the RPC tap would not be called
if the PDU was short. This was most noticeable in NFS Read Replies not generating tap events and thus NFS RTT statistics did not count the Read procedure. svn path=/trunk/; revision=7490
Diffstat (limited to 'packet-rpc.c')
-rw-r--r--packet-rpc.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/packet-rpc.c b/packet-rpc.c
index ec252ccc11..9dd409afed 100644
--- a/packet-rpc.c
+++ b/packet-rpc.c
@@ -2,7 +2,7 @@
* Routines for rpc dissection
* Copyright 1999, Uwe Girlich <Uwe.Girlich@philosys.de>
*
- * $Id: packet-rpc.c,v 1.116 2003/04/16 12:15:06 sahlberg Exp $
+ * $Id: packet-rpc.c,v 1.117 2003/04/18 06:34:42 sahlberg Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -2170,6 +2170,14 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
}
+ /* we must queue this packet to the tap system before we actually
+ call the subdissectors since short packets (i.e. nfs read reply)
+ will cause an exception and execution would never reach the call
+ to tap_queue_packet() in that case
+ */
+ tap_queue_packet(rpc_tap, pinfo, rpc_call);
+
+
if (!proto_is_protocol_enabled(proto))
dissect_function = NULL;
@@ -2285,7 +2293,6 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
}
- tap_queue_packet(rpc_tap, pinfo, rpc_call);
return TRUE;
}