libbluray | branch: master | hpi1 <[email protected]> | Fri Aug 15 12:56:33 2014 +0300| [f539ed0eb8983159df5d55ac2e82eeb9fa1c6054] | committer: hpi1
Avoid overread when graphics stream segment is empty/invalid > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=f539ed0eb8983159df5d55ac2e82eeb9fa1c6054 --- src/libbluray/decoders/graphics_processor.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libbluray/decoders/graphics_processor.c b/src/libbluray/decoders/graphics_processor.c index ea1ca3a..293767b 100644 --- a/src/libbluray/decoders/graphics_processor.c +++ b/src/libbluray/decoders/graphics_processor.c @@ -129,7 +129,7 @@ static void _join_fragments(PES_BUFFER *p1, PES_BUFFER *p2, int data_pos) /* return 1 if segment is ready for decoding, 0 if more data is needed */ static int _join_segment_fragments(struct pes_buffer_s *p) { - uint8_t type = p->buf[0]; + uint8_t type; unsigned id_pos = 0, id_len = 3, sd_pos = 6, data_pos = 0; if (p->len < 3) { @@ -138,6 +138,7 @@ static int _join_segment_fragments(struct pes_buffer_s *p) /* check segment type */ + type = p->buf[0]; if (type == PGS_OBJECT) { id_pos = 3; sd_pos = 6; _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
