Don't convert a WTP PDU type to a string by using as an index into a

"value_string" array, do it the right way, by using "val_to_str()" - the
PDU type is 4 bits, but there aren't 16 entries in the array, so a bogus
PDU type (*don't* assume that can't happen...) can cause a core dump.

svn path=/trunk/; revision=3169
This commit is contained in:
Guy Harris 2001-03-23 20:11:46 +00:00
parent c400685ad6
commit 501ea346d1
1 changed files with 3 additions and 2 deletions

View File

@ -2,7 +2,7 @@
*
* Routines to dissect WTP component of WAP traffic.
*
* $Id: packet-wtp.c,v 1.11 2001/02/13 00:17:54 guy Exp $
* $Id: packet-wtp.c,v 1.12 2001/03/23 20:11:46 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@ -243,7 +243,8 @@ dissect_wtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
pdut = pdu_type( b0 );
/* Develop the string to put in the Info column */
cchInfo = snprintf( szInfo, sizeof( szInfo ), "WTP %s", vals_pdu_type[ ( int )pdut ].strptr );
cchInfo = snprintf( szInfo, sizeof( szInfo ), "WTP %s",
val_to_str(pdut, vals_pdu_type, "Unknown PDU type 0x%x"));
switch( pdut ) {
case INVOKE: