Wireshark-bugs: [Wireshark-bugs] [Bug 6407] SDP dissector failure caused by slightly malformed s

Date: Thu, 29 Sep 2011 08:45:13 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6407

--- Comment #3 from Jaap Keuter <jaap.keuter@xxxxxxxxx> 2011-09-29 17:45:12 CEST ---
(In reply to comment #0)
> We have observed certain SDP files describing H.264 streams, in which the
> sprops-parameter-sets parameter is slightly malformed; namely the SPS NALU has
> an extra zero byte appended to the end.
> 
> This does not cause any problems to any real RTSP client that we have seen, but
> Wireshark reports a malformed packet

As it should. It's in the business of reporting protocol errors. This is one. 
it really doesn't matter in 'any real RTSP client' has no problem with it.

> and does not display any lines of the SDP file after the offending a=fmtp line.

It should try to continue. Although protocol errors can lead to further
misinterpretations down the line.

> It turns out this is caused by a simple buffer underrun in packet-h264.c; in
> dissect_h264_nal_unit(), tvb_get_bits32 is called without first checking that
> there are at least 4 bytes left in the buffer.

Hence the use of a TVB; it's safe that way, causing the malformed exception.
Don't make it go away. Make it so the the dissector reports a protocol error
and can continue. All this patch does is cover up the problem. Not nice.

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.