diff --git a/tools/input/annexb.rs b/tools/input/annexb.rs index 8b8943959..7a41bd5f9 100644 --- a/tools/input/annexb.rs +++ b/tools/input/annexb.rs @@ -125,6 +125,9 @@ unsafe fn parse_obu_header( buf = buf.offset(1); buf_size -= 1; if extension_flag != 0 { + if buf_size == 0 { + return -1; + } buf = buf.offset(1); buf_size -= 1; } diff --git a/tools/input/section5.rs b/tools/input/section5.rs index a0b2fdda0..afae4adf2 100644 --- a/tools/input/section5.rs +++ b/tools/input/section5.rs @@ -104,6 +104,9 @@ unsafe fn parse_obu_header( buf_size -= 1; if extension_flag != 0 { buf = buf.offset(1); + if buf_size == 0 { + return -1; + } buf_size -= 1; } if has_size_flag != 0 {