aboutsummaryrefslogtreecommitdiffstats
path: root/gtk/dcerpc_stat.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-12-13 03:30:07 +0000
committerGuy Harris <guy@alum.mit.edu>2003-12-13 03:30:07 +0000
commit399591ce24d3c56c1255495a137aa6499095c4e7 (patch)
tree1a3ce991ae133f5b0b34e590311be9eda802375c /gtk/dcerpc_stat.c
parentc20f75c872ff560b2d7a612c80dc1ce1d2be4331 (diff)
Add some sanity checking of arguments.
svn path=/trunk/; revision=9268
Diffstat (limited to 'gtk/dcerpc_stat.c')
-rw-r--r--gtk/dcerpc_stat.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/dcerpc_stat.c b/gtk/dcerpc_stat.c
index 1246cf862e..eac1a2943c 100644
--- a/gtk/dcerpc_stat.c
+++ b/gtk/dcerpc_stat.c
@@ -1,7 +1,7 @@
/* dcerpc_stat.c
* dcerpc_stat 2002 Ronnie Sahlberg
*
- * $Id: dcerpc_stat.c,v 1.30 2003/12/11 21:23:36 ulfl Exp $
+ * $Id: dcerpc_stat.c,v 1.31 2003/12/13 03:30:07 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -217,13 +217,16 @@ gtk_dcerpcstat_init(char *optarg)
rs=g_malloc(sizeof(rpcstat_t));
- rs->prog=dcerpc_get_proto_name(&uuid, (guint16) ((minor<<8)|(major&0xff)) );
- hf_opnum=dcerpc_get_proto_hf_opnum(&uuid, (guint16) ((minor<<8)|(major&0xff)) );
+ if (major < 0 || major > 255 || minor < 0 || minor > 255)
+ rs->prog = NULL; /* bogus major or minor */
+ else
+ rs->prog=dcerpc_get_proto_name(&uuid, (guint16) ((minor<<8)|(major&0xff)) );
if(!rs->prog){
g_free(rs);
fprintf(stderr,"ethereal: dcerpcstat_init() Protocol with uuid:%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x v%d.%d not supported\n",uuid.Data1,uuid.Data2,uuid.Data3,uuid.Data4[0],uuid.Data4[1],uuid.Data4[2],uuid.Data4[3],uuid.Data4[4],uuid.Data4[5],uuid.Data4[6],uuid.Data4[7],major,minor);
exit(1);
}
+ hf_opnum=dcerpc_get_proto_hf_opnum(&uuid, (guint16) ((minor<<8)|(major&0xff)) );
procs=dcerpc_get_proto_sub_dissector(&uuid, (guint16) ((minor<<8)|(major&0xff)) );
rs->uuid=uuid;
rs->ver=(minor<<8)|(major&0xff);