Handle null RADIUS attribute information without crashing. Found by

Jonathan Heusser.

svn path=/trunk/; revision=10434
This commit is contained in:
Gerald Combs 2004-03-22 16:05:48 +00:00
parent 070a22f31c
commit eaafb5af48
3 changed files with 10 additions and 5 deletions

View File

@ -1,7 +1,7 @@
# Makefile.am
# Automake file for Ethereal
#
# $Id: Makefile.am,v 1.723 2004/03/17 19:57:28 jmayer Exp $
# $Id: Makefile.am,v 1.724 2004/03/22 16:05:48 gerald Exp $
#
# Ethereal - Network traffic analyzer
# By Gerald Combs <gerald@ethereal.com>
@ -385,6 +385,7 @@ EXTRA_DIST = \
cleanbld.bat \
config.h.win32 \
config.nmake \
cvsversion.h \
debian/README.debian \
debian/changelog \
debian/control \

View File

@ -9,7 +9,7 @@
* Modified 2004-01-10 by Anders Broman to add abillity to dissect
* Content type application/ISUP RFC 3204 used in SIP-T
*
* $Id: packet-isup.c,v 1.55 2004/03/18 09:00:37 guy Exp $
* $Id: packet-isup.c,v 1.56 2004/03/22 16:05:48 gerald Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -6124,7 +6124,7 @@ proto_register_isup(void)
"", HFILL }},
{ &hf_BAT_ASE_Comp_Report_diagnostic,
{ "Diagnostics", "Comp_Report_diagnostic",
{ "Diagnostics", "bat_ase.Comp_Report_diagnostic",
FT_UINT16, BASE_HEX, NULL,0x0,
"", HFILL }},

View File

@ -6,7 +6,7 @@
*
* RFC 2865, RFC 2866, RFC 2867, RFC 2868, RFC 2869
*
* $Id: packet-radius.c,v 1.99 2004/03/20 19:09:22 guy Exp $
* $Id: packet-radius.c,v 1.100 2004/03/22 16:05:48 gerald Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@ -2611,6 +2611,7 @@ dissect_attribute_value_pairs(tvbuff_t *tvb, int offset,proto_tree *tree,
guint8 *reassembled_data = NULL;
int reassembled_data_len = 0;
int data_needed = 0;
char *attr_info_str = "(Invalid)";
if (avplength==0)
{
@ -2635,9 +2636,12 @@ dissect_attribute_value_pairs(tvbuff_t *tvb, int offset,proto_tree *tree,
* fields, so it must be >= 2.
*/
if (tree) {
if (attr_info) {
attr_info_str = attr_info->str;
}
proto_tree_add_text(tree, tvb, offset, avph.avp_length,
"t:%s(%u) l:%u (length not >= 2)",
attr_info->str, avph.avp_type, avph.avp_length);
attr_info_str, avph.avp_type, avph.avp_length);
}
break;
}