aboutsummaryrefslogtreecommitdiffstats
path: root/packet-rpc.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2002-10-24 03:54:11 +0000
committerGuy Harris <guy@alum.mit.edu>2002-10-24 03:54:11 +0000
commit0c0516a755dd1084b567e9fa8f97c7b7664a6f42 (patch)
tree41d45dc8b096fa140c250c635549efa79987d87b /packet-rpc.c
parent24a1312102c16ebdc739f7920eaa8e8db09576fa (diff)
Check whether the array of procedure hf values has an element for the
given version before fetching that value. svn path=/trunk/; revision=6490
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 128276d146..b8c8cbe4cb 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.105 2002/10/23 21:17:03 guy Exp $
+ * $Id: packet-rpc.c,v 1.106 2002/10/24 03:54:11 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -2100,7 +2100,14 @@ dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
if (ptree) {
proto_tree_add_uint(ptree,
hf_rpc_programversion, tvb, 0, 0, vers);
- procedure_hf = g_array_index(rpc_prog->procedure_hfs, int, vers);
+ if (rpc_prog->procedure_hfs->len > vers)
+ procedure_hf = g_array_index(rpc_prog->procedure_hfs, int, vers);
+ else {
+ /*
+ * No such element in the GArray.
+ */
+ procedure_hf = 0;
+ }
if (procedure_hf != 0 && procedure_hf != -1) {
proto_tree_add_uint(ptree,
procedure_hf, tvb, 0, 0, proc);