Ethereal-dev: Re: [Ethereal-dev] proto.c: line 1400 (proto_tree_add_uint): should not be re
On Thu, 14 Feb 2002 09:49:26 Marcin Gryszkalis wrote:
> It's tethereal 0.9.1 (2002/02/11 snapshot)
> oh, btw, why there's no configure script in snapshots?
>
Right. 'configure' scripts are generated for the source
distribution by 'make dist'. Source snapshots are just
that; snapshots of the current CVS source code.
Run "./autogen.sh" in the source snapshot to run the
relevant autoconf, automake, and aclocal commands in the
right order.
> FreeBSD 4.5
> libcap 0.6 (FreeBSD oryginal)
>
> proto.c version:
> * $Id: proto.c,v 1.51 2002/02/01 04:34:17 gram Exp $
>
> backtrace:
> #0 0x284bd994 in kill () from /usr/lib/libc.so.4
> #1 0x284f9b06 in abort () from /usr/lib/libc.so.4
> #2 0x28449426 in g_logv () from /usr/local/lib/libglib12.so.3
> #3 0x284494dd in g_log () from /usr/local/lib/libglib12.so.3
> #4 0x81ec088 in proto_tree_add_uint (tree=0x8721958, hfindex=4616,
> tvb=0x83f88e8, start=338, length=1, value=0)
> at proto.c:1400
> #5 0x819e97c in ucp_handle_byte (tree=0x8721958, tvb=0x83f88e8,
> field=4616, offset=0xbfbfe798) at packet-ucp.c:722
> #6 0x81a06ca in add_5xO (tree=0x8721958, tvb=0x83f88e8) at
> packet-ucp.c:1441
Many thanks for the bug reports. In packet-ucp.c:1441, we find:
UcpHandleByte(hf_ucp_parm_NT);
but hf_ucp_parm_NT is an FT_STRING field, not a FT_UINT8 field.
Since there is a value_string for this field, vals_parm_NT, I am
guessing that hf_ucp_parm_NT should really be a FT_UINT8 type.
However, that value string is never used in the code.
I'm checking in the attached change, to make hf_ucp_parm_NT a
FT_UINT8 type, and for it to use vals_parm_NT.
BTW, for those that maintain packet-ucp.c, the ucp_handle_byte()
is confusing. Why is the guint8 returned by tvb_get_guint()
checked to see if it's != '/' ?
--gilbert
Attachment:
ucp.diff
Description: Binary data