[libdvbpsi-devel] [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 gitlab at videolan.org
Wed Jul 12 09:53:41 CEST 2017


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 <jpsaman at videolan.org>
(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: stoth at kernellabs.com
+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.


More information about the libdvbpsi-devel mailing list