[libdvbpsi-devel] Section CRC not being checked

Jean-Paul Saman jpsaman at videolan.org
Wed Oct 2 18:48:09 CEST 2013


Brad,

On Wed, Oct 2, 2013 at 5:27 PM, Brad Bitterman <bitter at vtilt.com> wrote:

> We were testing libdvbpsi 1.1.0 with an ATSC tuner and found that we were
> getting corrupted data sometimes for the VCT. After looking at the code we
> found that the CRC was not being checked.
>
> In the function dvbpsi_packet_push around line 400 the boolean variable is
> declared and initialized by calling dvbpsi_has_crc( p_section ). This
> function uses p_section->b_syntax_indicator to check to see if the CRC
> should be validated. The p_section->b_syntax_indicator is not initialized
> until a few lines down. This cause the CRC to never be check.
>
> I moved the call to dvbpsi_has_crc down after b_syntax_indicator gets
> initialized and I now see the CRC check happening. Is this correct or is
> there a reason that the code is the way it is?
>

Good catch it is indeed a bug. Could you try attached patch?

Kind regards,

Jean-Paul Saman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/libdvbpsi-devel/attachments/20131002/02f1285d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-src-dvbpsi.c-b_syntax_indicator-and-i_table_id-were-.patch
Type: application/octet-stream
Size: 1658 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/libdvbpsi-devel/attachments/20131002/02f1285d/attachment.obj>


More information about the libdvbpsi-devel mailing list