aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-03-19 18:39:44 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-03-19 18:39:44 +0000
commit1b481aebd63f7808ed3832eeb2f8ac70df1edc1f (patch)
treeae5fcad13fd0ee3b3835182f143763c1c434b07c
parent75db1b8e484ffd9256c553cb28dcd0b5d7a3c274 (diff)
parent196e72450a1f01797c7f994d00752649407a8baa (diff)
downloadlibhevc-1b481aebd63f7808ed3832eeb2f8ac70df1edc1f.tar.gz
Merge "Fix DoS in NAL search" into qt-qpr1-dev
-rw-r--r--decoder/ihevcd_decode.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/decoder/ihevcd_decode.c b/decoder/ihevcd_decode.c
index 16ed36b..9f634b7 100644
--- a/decoder/ihevcd_decode.c
+++ b/decoder/ihevcd_decode.c
@@ -626,6 +626,13 @@ WORD32 ihevcd_decode(iv_obj_t *ps_codec_obj, void *pv_api_ip, void *pv_api_op)
nal_ofst = ihevcd_nal_search_start_code(ps_codec->pu1_inp_bitsbuf,
ps_codec->i4_bytes_remaining);
+ /* If there is no start code found, consume the data and break */
+ if(nal_ofst == ps_codec->i4_bytes_remaining)
+ {
+ ps_codec->pu1_inp_bitsbuf += nal_ofst;
+ ps_codec->i4_bytes_remaining -= nal_ofst;
+ break;
+ }
ps_codec->i4_nal_ofst = nal_ofst;
{