if (m->commited) {
for ( trxmsg = m->trxs; trxmsg; trxmsg = trxmsg->next) {
- if (trxmsg->trx->id == t_id) {
+ if (trxmsg->trx && trxmsg->trx->id == t_id) {
return trxmsg->trx;
}
}
cmdctx->last = cmdtrx->last = NULL;
if (t->cmds) {
+ DISSECTOR_ASSERT(t->cmds->last != NULL);
t->cmds->last->next = cmdtrx;
t->cmds->last = cmdtrx;
} else {
}
if (c->cmds) {
+ DISSECTOR_ASSERT(c->cmds->last != NULL);
c->cmds->last->next = cmdctx;
c->cmds->last = cmdctx;
} else {
<!--
Ethereal Info
-->
- <!ENTITY EtherealCurrentVersion "0.10.14">
+ <!ENTITY EtherealCurrentVersion "0.10.15">
<!ENTITY EtherealWebSite "http://www.ethereal.com">
<!ENTITY EtherealUsersGuidePage "&EtherealWebSite;/docs/#usersguide">
<!ENTITY EtherealDownloadPage "&EtherealWebSite;/download.html">
<itemizedlist>
<listitem><para>
- The IRC dissector could go into an infinite loop.
- <!-- Fixed in r16290 -->
- <!-- Bug IDs: 548 -->
- <!-- CVE: CVE-2005-3313 -->
- Versions affected: 0.10.13.
- </para></listitem>
-
- <listitem><para>
- The GTP dissector could go into an infinite loop.
- <!-- Fixed in r16436 -->
- <!-- Bug IDs: 576 -->
- <!-- CVE: None -->
- Versions affected: 0.9.1 to 0.10.13.
- </para></listitem>
-
- <listitem><para>
- iDefense found a buffer overflow in the OSPF dissector.
- <!-- Fixed in r16507 -->
- <!-- Bug IDs: None -->
- <!-- CVE: CAN-2005-3651 -->
- Versions affected: 0.8.20 to 0.10.13.
+ The H.248 dissector could crash.
+ <!-- Fixed in r16967 -->
+ <!-- Bug IDs: 651 -->
+ Versions affected: 0.10.14.
</para></listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>
- When cancelling a file load operation, Ethereal will keep
- displaying the loaded packets now, instead of simply discarding the
- whole load attempt.
- </para>
- <para>
- This can be very helpful to detect wether a specific (huge) capture
- file is the expected file or not. Remember:
- The complete load of a huge capture file (>100MB) can take even
- minutes!
</para></listitem>
</itemizedlist>
</para>
if (m->commited) {
for ( trxmsg = m->trxs; trxmsg; trxmsg = trxmsg->next) {
- if (trxmsg->trx->id == t_id) {
+ if (trxmsg->trx && trxmsg->trx->id == t_id) {
return trxmsg->trx;
}
}
cmdctx->last = cmdtrx->last = NULL;
if (t->cmds) {
+ DISSECTOR_ASSERT(t->cmds->last != NULL);
t->cmds->last->next = cmdtrx;
t->cmds->last = cmdtrx;
} else {
}
if (c->cmds) {
+ DISSECTOR_ASSERT(c->cmds->last != NULL);
c->cmds->last->next = cmdctx;
c->cmds->last = cmdctx;
} else {
/*--- End of included file: packet-h248-fn.c ---*/
-#line 1761 "packet-h248-template.c"
+#line 1763 "packet-h248-template.c"
static void
dissect_h248(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
"", HFILL }},
/*--- End of included file: packet-h248-hfarr.c ---*/
-#line 2019 "packet-h248-template.c"
+#line 2021 "packet-h248-template.c"
{ &hf_h248_ctx, { "Context", "h248.ctx", FT_UINT32, BASE_HEX, NULL, 0, "", HFILL }},
{ &hf_h248_ctx_term, { "Termination", "h248.ctx.term", FT_STRING, BASE_NONE, NULL, 0, "", HFILL }},
&ett_h248_Value,
/*--- End of included file: packet-h248-ettarr.c ---*/
-#line 2041 "packet-h248-template.c"
+#line 2043 "packet-h248-template.c"
};
module_t *h248_module;