Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] rev 43176: /trunk/epan/dissectors/ /trun

From: Bill Meier <wmeier@xxxxxxxxxxx>
Date: Sat, 09 Jun 2012 14:38:49 -0400
On 6/9/2012 2:26 PM, Jeff Morriss wrote:
The code in epan/proto.c seems to indicate that using BASE_NONE with
FT_*INT* types should be OK when there the strings converter is supplied:

case FT_UINT32:
case FT_UINT64:
if (hfinfo->strings == NULL) {
/* Require integral types (other than frame number,
* which is always displayed in decimal) to have a
* number base */
if (hfinfo->display == BASE_NONE)
g_error("Field '%s' (%s) is an integral value (%s)"
" without strings but is being displayed as BASE_NONE\n",
hfinfo->name, hfinfo->abbrev,
val_to_str(hfinfo->type, hf_types, "(Unknown: %d)"));
}

Where was it crashing (er, excepting out)? (There's no sample PCAP file
in that bug.)

On a separate note: If hfinfo->display has BASE_RANGE_STRING or BASE_EXT_STRING set, the test for BASE_NONE won't work.

'if ((hfinfo->display & BASE_DISPLAY_E_MASK) == BASE_NONE)'
is the correct way....

I'll be fixing this shortly in several places in proto.c

(I think that only "validation" code is affected, not any "real" code).

Bill