Do not allocate ridiculous amount of datas.
Signed-off-by: Jean-Paul Saman <jpsaman@videolan.org>
i_size = (i_size << 8) | (*p++);
}
- if( i_size > 0 )
+ if( i_size > 0 && i_size < p_block->i_buffer )
{
block_t *p_part = nal_get_annexeb( p_dec, p, i_size );
-
+ if( !p_part )
+ {
+ block_Release( p_block );
+ return NULL;
+ }
p_part->i_dts = p_block->i_dts;
p_part->i_pts = p_block->i_pts;
block_t *p_nal;
p_nal = block_New( p_dec, 4 + i_size );
+ if( !p_nal ) return NULL;
/* Add start code */
p_nal->p_buffer[0] = 0x00;