Commit f84e57c6 authored by Jean-Paul Saman's avatar Jean-Paul Saman

dr_42: add boundary checking

parent 805c3910
...@@ -65,6 +65,9 @@ dvbpsi_stuffing_dr_t * dvbpsi_DecodeStuffingDr( ...@@ -65,6 +65,9 @@ dvbpsi_stuffing_dr_t * dvbpsi_DecodeStuffingDr(
/* Decode data */ /* Decode data */
p_decoded->i_stuffing_length = p_descriptor->i_length; p_decoded->i_stuffing_length = p_descriptor->i_length;
if (p_decoded->i_stuffing_length > 255)
p_decoded->i_stuffing_length = 255;
if (p_decoded->i_stuffing_length) if (p_decoded->i_stuffing_length)
memcpy(p_decoded->i_stuffing_byte, memcpy(p_decoded->i_stuffing_byte,
p_descriptor->p_data, p_descriptor->p_data,
...@@ -82,6 +85,9 @@ dvbpsi_stuffing_dr_t * dvbpsi_DecodeStuffingDr( ...@@ -82,6 +85,9 @@ dvbpsi_stuffing_dr_t * dvbpsi_DecodeStuffingDr(
dvbpsi_descriptor_t * dvbpsi_GenStuffingDr(dvbpsi_stuffing_dr_t * p_decoded, dvbpsi_descriptor_t * dvbpsi_GenStuffingDr(dvbpsi_stuffing_dr_t * p_decoded,
bool b_duplicate) bool b_duplicate)
{ {
if (p_decoded->i_stuffing_length > 255)
p_decoded->i_stuffing_length = 255;
/* Create the descriptor */ /* Create the descriptor */
dvbpsi_descriptor_t * p_descriptor = dvbpsi_descriptor_t * p_descriptor =
dvbpsi_NewDescriptor(0x42, p_decoded->i_stuffing_length, NULL); dvbpsi_NewDescriptor(0x42, p_decoded->i_stuffing_length, NULL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment