Hi,
I can open that packet ok with a build from todays tarball, 0.10.3 crashes, the problem seems to be in the
1.61 verson of packet.sip.c :
dfilter_sip_request_line(tvbuff_t *tvb, proto_tree *tree, guint meth_len)
{
char *string;
/*
* We know we have the entire method; otherwise, "sip_parse_line()"
* would have returned OTHER_LINE.
*/
string = tvb_get_string(tvb, 0, meth_len);
proto_tree_add_string(tree, hf_Method, tvb, 0, meth_len, string);
/* Copy request method for telling tap */
stat_info->request_method = g_malloc(meth_len+1);
strncpy(stat_info->request_method, string, meth_len+1);
/* String no longer needed */
g_free(string);
}
which seems to be fixed by "if(tree)" in version 1.62 around line 873 :
string = tvb_get_string(tvb, 0, meth_len);
if (tree) {
Best regards
Anders
-----Original Message-----
From: ethereal-dev-bounces@xxxxxxxxxxxx
[mailto:ethereal-dev-bounces@xxxxxxxxxxxx]On Behalf Of Biot Olivier
Sent: den 13 april 2004 13:20
To: Ethereal-Dev (ethereal-dev@xxxxxxxxxxxx)
Subject: [Ethereal-dev] FW: {* -BIG- *} [Ethereal-users] Clicking on our
SIP protocol ent ries kills the program
FYI - not fixed; could some SIP expert have a look at this?
Regards,
Olivier
-----Original Message-----
From: Richard Urwin
On Monday 12 Apr 2004 9:59 pm, charles_r_smith [at] us.ibm.com wrote:
> Don't know what is going on here, but it sure puts a downer on an
> otherwise cool looking tool if one is analyzing SIP transactions.
> Any ideas or suggestion are certainly welcome.
>
> Captured file:
>
> Error screen:
Recreated on Linux with Ethereal 0.10.3:
Enclosed:
backtrace.txt: gdb backtrace
fail.cap: a single SIP packet (packet 8 in original file)
sip.binary: The TCP payload from that packet
whole.binary: The whole frame of that packet
.binary files are created by "export selected packet bytes"
I suspect sip.binary can be read with a text editor - seems to work
here, but I don't know SIP.
HTH
--
Richard Urwin