Ethereal-dev: Re: [Ethereal-dev] proto.c: line 1400 (proto_tree_add_uint): should not be re

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Gilbert Ramirez <gram@xxxxxxxxxxxxxxx>
Date: Thu, 14 Feb 2002 10:43:35 -0600
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