@@ -1959,10 +1959,10 @@ int oapvd_decode(oapvd_t did, oapv_bitb_t *bitb, oapv_frms_t *ofrms, oapvm_t mid
19591959 oapv_bsr_init (& ctx -> bs , (u8 * )bitb -> addr + cur_read_size , remain , NULL );
19601960 bs = & ctx -> bs ;
19611961
1962- ret = oapvd_vlc_pbu_size (bs , & pbu_size ); // 4byte
1962+ ret = oapvd_vlc_pbu_size (bs , & pbu_size ); // read pbu_size (4 byte)
19631963 oapv_assert_g (OAPV_SUCCEEDED (ret ), ERR );
1964- oapv_assert_gv (( pbu_size + 4 ) <= bs -> size , ret , OAPV_ERR_MALFORMED_BITSTREAM , ERR );
1965-
1964+ remain -= 4 ; // size of pbu_size syntax
1965+ oapv_assert_gv ( pbu_size <= remain , ret , OAPV_ERR_MALFORMED_BITSTREAM , ERR );
19661966
19671967 ret = oapvd_vlc_pbu_header (bs , & pbuh );
19681968 oapv_assert_g (OAPV_SUCCEEDED (ret ), ERR );
@@ -2075,7 +2075,7 @@ int oapvd_info(void *au, int au_size, oapv_au_info_t *aui)
20752075
20762076 ret = oapvd_vlc_pbu_size (& bs , & pbu_size ); // read pbu_size (4 byte)
20772077 oapv_assert_rv (OAPV_SUCCEEDED (ret ), ret );
2078- remain -= 4 ; // pbu_size syntax
2078+ remain -= 4 ; // size of pbu_size syntax
20792079 oapv_assert_rv (pbu_size <= remain , OAPV_ERR_MALFORMED_BITSTREAM );
20802080
20812081 /* pbu header */
0 commit comments