--- modules/codec/spudec/parse.c +++ modules/codec/spudec/parse.c @@ -705,6 +705,13 @@ static void Render( decoder_t *p_dec, subpicture_t *p_spu, p_spu_data->pi_alpha[i_x] << 4; } + if( !fmt.i_width || !fmt.i_height ) + { + msg_Err( p_dec, "Invalid SPU region detected: %ix%i. Skipping.", + fmt.i_width, fmt.i_height); + return; + } + p_spu->p_region = subpicture_region_New( &fmt ); if( !p_spu->p_region ) {