Ethereal-dev: Re: [Ethereal-dev] RE: assert error in print.c

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

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Fri, 23 Jan 2004 00:27:03 +0100
Joshua Wright wrote:

Replying to my own post, I know - bad form. ;)

I discovered that the bug comes form the use of the unitialized variable print_args.format in wtap_dispatch_cb_print().  If you want to get a hex dump of the packet without the added information -V information, tethereal used print_args.format instead of the global "static int print_format" variable.

Changing the call to print_hex_data() to use print_format fixed this issue for me.  Patch attached.

Thanks!

-Joshua Wright
Joshua.Wright@xxxxxxx


-----Original Message-----
From:	Joshua Wright
Sent:	Wed 2004-01-21 3:03 PM
To:	ethereal-users@xxxxxxxxxxxx
Cc:	
Subject:	assert error in print.c
When reading through a capture file with tethereal, I got the following error:

jwright@pos1:~/latitude$ tethereal -x -r asleap-example-short.dump
 1   0.000000 AironetW_55:75:f5 -> Broadcast    IEEE 802.11 Beacon frame

** ERROR **: file print.c: line 691 (print_line): should not be reached
aborting...
Aborted
jwright@pos1:~/latitude$ echo $?
134
jwright@pos1:~/latitude$ uname -a
Linux pos1 2.4.22 #6 Tue Sep 2 17:43:01 PDT 2003 i686 unknown unknown GNU/Linux
jwright@pos1:~/latitude$ tethereal -v
tethereal 0.10.0a
Compiled with GLib 1.2.10, with libpcap current-cvs.tcpdump.org.2004.01.15,
with libz 1.1.4, with libpcre 4.4, without UCD-SNMP or Net-SNMP, without ADNS.
Running with libpcap version current-cvs.tcpdump.org.2004.01.15 on Linux 2.4.22
jwright@pos1:~/latitude$

I've attached the capture file and this text for reference.  Thanks.

-Joshua Wright
Joshua.Wright@xxxxxxx



------------------------------------------------------------------------

_______________________________________________
Ethereal-dev mailing list
Ethereal-dev@xxxxxxxxxxxx
http://www.ethereal.com/mailman/listinfo/ethereal-dev
As the code in tethereal.c seems to be ok, as far as I can see, I'm guessing now:

In print.c, line 705 (latest CVS), the g_assert_not_reached() statement was reached, causing the assert.

As the place only can handle PR_FTM_TEXT and PR_FMT_PS, I don't know if it can happen that
tethereal is using PR_FMT_PDML, causing the assert.

Need some advice from the one implemented the PDML format output, if this seems to be simply not implemented!

Regards, ULFL