diff options
author | Guy Harris <guy@alum.mit.edu> | 2002-10-24 03:54:11 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2002-10-24 03:54:11 +0000 |
commit | 0c0516a755dd1084b567e9fa8f97c7b7664a6f42 (patch) | |
tree | 41d45dc8b096fa140c250c635549efa79987d87b /packet-rpc.c | |
parent | 24a1312102c16ebdc739f7920eaa8e8db09576fa (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.c | 11 |
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); |