Fix bad operator precedence when reading handover_type in dr-4a generation
[email protected] (Daniel Kamil Kozar) Mon, 24 Aug 2015 12:54:43 +0200 (CEST)
| Newsgroups | gmane.comp.video.videolan.libdvbpsi.devel |
|---|---|
| Message-ID | <[email protected]> |
libdvbpsi | branch: master | Daniel Kamil Kozar <[email protected]> | Sat Jul 18 21:49:53 2015 +0200| [b297e4d47c034f02de769f2011ef1791ba218031] | committer: Jean-Paul Saman Fix bad operator precedence when reading handover_type in dr-4a generation Due to the lack of parenthesis, the expression used to read handover_type was read as (p_descriptor->p_data[7] & (0xF0 >> 4)). (cherry picked from commit 61bb8944e881d602db9f77a89051ada310958b28) Signed-off-by: Jean-Paul Saman <[email protected]> > http://git.videolan.org/gitweb.cgi/libdvbpsi.git/?a=commit;h=b297e4d47c034f02de769f2011ef1791ba218031 --- src/descriptors/dr_4a.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/descriptors/dr_4a.c b/src/descriptors/dr_4a.c index e4d2b3e..f00e646 100644 --- a/src/descriptors/dr_4a.c +++ b/src/descriptors/dr_4a.c @@ -60,13 +60,13 @@ dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor) if (p_descriptor->i_length < DR_4A_MIN_SIZE) return NULL; - int handover_type = 0, origin_type = 0; + unsigned int handover_type = 0, origin_type = 0; if (p_descriptor->p_data[6] == 0x08) { if (p_descriptor->i_length < DR_4A_MIN_SIZE + 1) return NULL; - handover_type = p_descriptor->p_data[7] & 0xF0 >> 4; + handover_type = (p_descriptor->p_data[7] & 0xF0) >> 4; origin_type = p_descriptor->p_data[7] & 0x01; if ((( handover_type > 0 ) && ( handover_type < 4 ) && ( origin_type == 0 ) && ( p_descriptor->i_length < DR_4A_MIN_SIZE + 5 )) || _______________________________________________ libdvbpsi-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libdvbpsi-devel