[libdvbpsi-devel] [Git][videolan/libdvbpsi][master] 3 commits: Fix length of content identifier. Parsed CRID values were one byte short.

Jean-Paul Saman gitlab at videolan.org
Mon Mar 2 09:43:00 CET 2020



Jean-Paul Saman pushed to branch master at VideoLAN / libdvbpsi


Commits:
de599833 by David Matthews at 2020-03-02T09:36:28+01:00
Fix length of content identifier. Parsed CRID values were one byte short.

(cherry picked from commit 092dd6020526ebf14dea4dfc80ef2c2513096c65)
Signed-off-by: Jean-Paul Saman <jpsaman at videolan.org>

- - - - -
f5a7f2bb by Jean-Paul Saman at 2020-03-02T09:37:19+01:00
dr_76: crid_location has a maximum of 253-bytes

Properly terminate dvbpsi_crid_entry_t::value.path with a null-byte.

- - - - -
3890ac43 by Jean-Paul Saman at 2020-03-02T09:37:21+01:00
NEWS: update

- - - - -


3 changed files:

- NEWS
- src/descriptors/dvb/dr_76.c
- src/descriptors/dvb/dr_76.h


Changes:

=====================================
NEWS
=====================================
@@ -18,7 +18,7 @@ Changes between 1.3.0 and 2.0.0-git:
    - 0x24 Content labelling descriptor
    - 0x65 Scrambling descriptor
    - 0x67 DVB Transport Stream descriptor
- * Fix bugs in descriptors: 0x41, 0x44, 0x4a, 0x4b, 0x53, 0x54, 0x55, 0x56, 0x59, 0x8a, 0xa0
+ * Fix bugs in descriptors: 0x41, 0x44, 0x4a, 0x4b, 0x53, 0x54, 0x55, 0x56, 0x59, 0x76, 0x8a, 0xa0
  * Fix bugs in table: CA, EIT, NIT
  * Work on SIS table and splice commands.
  * More descriptor tests


=====================================
src/descriptors/dvb/dr_76.c
=====================================
@@ -88,8 +88,7 @@ dvbpsi_dvb_content_id_dr_t *dvbpsi_decode_dvb_content_id_dr(dvbpsi_descriptor_t
             }
             byte += len;
             /* Properly terminate the string */
-            unsigned int last = (i < len) ? i : len - 1U;
-            entry->value.path[last] = 0;
+            entry->value.path[len] = 0;
         }
         else if (entry->i_location == CRID_LOCATION_CIT)
         {


=====================================
src/descriptors/dvb/dr_76.h
=====================================
@@ -81,7 +81,7 @@ typedef struct dvbpsi_crid_entry_s
     uint8_t i_location;     /*!< content location */
     union
     {
-        uint8_t  path[253]; /*!< content path */
+        uint8_t  path[254]; /*!< content path including null string terminator byte */
         uint16_t ref;       /*!< content reference */
     } value;                /*!< content specific value */
 } dvbpsi_crid_entry_t;



View it on GitLab: https://code.videolan.org/videolan/libdvbpsi/-/compare/f186f4b9df2f75fbba7ea9257553bbce1fd76e47...3890ac43e048213a748231b97170a8e0ba1b8a65

-- 
View it on GitLab: https://code.videolan.org/videolan/libdvbpsi/-/compare/f186f4b9df2f75fbba7ea9257553bbce1fd76e47...3890ac43e048213a748231b97170a8e0ba1b8a65
You're receiving this email because of your account on code.videolan.org.




More information about the libdvbpsi-devel mailing list