Don't convert a WTP PDU type to a string by using as an index into a
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 23 Mar 2001 20:11:46 +0000 (20:11 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 23 Mar 2001 20:11:46 +0000 (20:11 +0000)
"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.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3169 f5534014-38df-0310-8fa8-9805f1628bb7

packet-wtp.c

index 5245f08754cbe5fb4198417afb15db831558974a..73cfe766029dc4cd2a658b1280ee59594fd725f3 100644 (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: