[Git][videolan/libdvbpsi][branch/1.3.0-bugfix] 5 commits: src/dvbpsi.h: set i_last_section_number when adding a new section to the end of the list
Jean-Paul Saman <[email protected]> Wed, 12 Jul 2017 09:53:41 +0200
| Newsgroups | gmane.comp.video.videolan.libdvbpsi.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============6493402118160664862== Content-Type: multipart/alternative; boundary="--==_mimepart_5965d585deb40_13c383fa998ec3a5c1006ad"; charset=UTF-8 Content-Transfer-Encoding: 7bit ----==_mimepart_5965d585deb40_13c383fa998ec3a5c1006ad Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Jean-Paul Saman pushed to branch branch/1.3.0-bugfix at videolan / libdvbpsi Commits: f73ba447 by Jean-Paul Saman at 2017-06-22T15:08:08+02:00 src/dvbpsi.h: set i_last_section_number when adding a new section to the end of the list The function dvbpsi_decoder_psi_section_add() never set p_decoder::i_last_section_number when adding a new section at the end of the list. This was left to the decoder implementations. However the correct action would have been to set p_decoder::i_last_section_number in dvbpsi_decoder_psi_section_add(). (cherry picked from commit 7e9f4ed39444c84679b1135684ec2aa4f39e476c) - - - - - 8feee970 by Jean-Paul Saman at 2017-06-22T15:08:29+02:00 NEWS: update - - - - - fe838cef by Steven Toth at 2017-07-12T09:50:23+02:00 SCTE35 / CUEI Descriptor parsing bug. Descriptor lengths of one byte fail to parse, instead returning null. The Spec from 2004 to 2016 shows the descriptor payload has never been more than a single byte. See SCTE 35 2016 Page 19 Table 2 (Section 8.2). Correct the length validation check, and reject any descriptor that IS NOT one byte long, as per the spec. Signed-off-by: Jean-Paul Saman <[email protected]> (cherry picked from commit 37f981c311843cbe3fb2b0ca0a523de23a5cdc41) - - - - - 8626df62 by Jean-Paul Saman at 2017-07-12T09:51:24+02:00 Update NEWS - - - - - fe4f067d by Jean-Paul Saman at 2017-07-12T09:51:38+02:00 Update AUTHORS - - - - - 4 changed files: - AUTHORS - NEWS - src/descriptors/dr_8a.c - src/dvbpsi.c Changes: ===================================== AUTHORS ===================================== --- a/AUTHORS +++ b/AUTHORS @@ -99,6 +99,11 @@ D: CUE Identifier Descriptor (0x8a) D: Splice Information Table D: Maintainer +N: Steven Toth +E: [email protected] +D: Bugfixing +D: Descriptor 0x8a + N: Yonathan Yusim D: Descriptor 0xa1 ===================================== NEWS ===================================== --- a/NEWS +++ b/NEWS @@ -1,3 +1,9 @@ +Changes between 1.3.1 and 1.3.2: +------------------------------- + + * Fix bug in dvbpsi_decoder_psi_section_add() set i_last_section_number + * Fix bug in descriptor 0x8a that prevented it from being parsed properly + Changes between 1.3.0 and 1.3.1: -------------------------------- ===================================== src/descriptors/dr_8a.c ===================================== --- a/src/descriptors/dr_8a.c +++ b/src/descriptors/dr_8a.c @@ -53,7 +53,7 @@ dvbpsi_cuei_dr_t * dvbpsi_DecodeCUEIDr(dvbpsi_descriptor_t * p_descriptor) if (dvbpsi_IsDescriptorDecoded(p_descriptor)) return p_descriptor->p_decoded; - if (p_descriptor->i_length == 0x01) + if (p_descriptor->i_length != 0x01) return NULL; /* Allocate memory */ ===================================== src/dvbpsi.c ===================================== --- a/src/dvbpsi.c +++ b/src/dvbpsi.c @@ -211,6 +211,7 @@ bool dvbpsi_decoder_psi_section_add(dvbpsi_decoder_t *p_decoder, dvbpsi_psi_sect /* Add to end of list */ if (p_prev->i_number < p_section->i_number) { + p_decoder->i_last_section_number = p_section->i_number; p_prev->p_next = p_section; p_section->p_next = NULL; } View it on GitLab: https://code.videolan.org/videolan/libdvbpsi/compare/f6e82402de9e26d87bb9ad3a49d02d5e53da778c...fe4f067db5d27d6628c485fcead592900ef48617 --- View it on GitLab: https://code.videolan.org/videolan/libdvbpsi/compare/f6e82402de9e26d87bb9ad3a49d02d5e53da778c...fe4f067db5d27d6628c485fcead592900ef48617 You're receiving this email because of your account on code.videolan.org. ----==_mimepart_5965d585deb40_13c383fa998ec3a5c1006ad-- --===============6493402118160664862== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGliZHZicHNp LWRldmVsIG1haWxpbmcgbGlzdApsaWJkdmJwc2ktZGV2ZWxAdmlkZW9sYW4ub3JnCmh0dHBzOi8v bWFpbG1hbi52aWRlb2xhbi5vcmcvbGlzdGluZm8vbGliZHZicHNpLWRldmVsCg== --===============6493402118160664862==--