Opened 6 months ago

Last modified 6 months ago

#977 new defect

writing outside of allocated memory

Reported by: VChemezov Owned by:
Priority: minor Milestone:
Component: VTM Version: VTM-8.0
Keywords: memory Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

InterPrediction.cpp line 185:
m_filteredBlockTmp[i][c] = ( Pel* ) xMalloc( Pel, ( extWidth + 4 ) * ( extHeight + 7 + 4 ) );

This temporal block is allocated with size 152x144 with no specified stride, but is used with stride equal to 512 in xPredInterBlk() (line 792).
Cause stride is derived from dstBuf.stride.

If I understand right dstBuf is allocated as 128x128 pixels in quaterpel dimension, so real size of dstBuf is 512x512. But m_filteredBlockTmp is only in real pixels dimension. And that is followed by writing out of allocated memory in some cases.

Please see attached stream.

Attachments (1)

encoder_lowdelay_vtm.vvc (62.8 KB) - added by VChemezov 6 months ago.
encoded with VTM encoder ver. 8.0

Download all attachments as: .zip

Change history (2)

Changed 6 months ago by VChemezov

encoded with VTM encoder ver. 8.0

comment:1 Changed 6 months ago by VChemezov

You can check it on POC = 10, pu position = (184, 128), _mv = (-8, -8)

Note: See TracTickets for help on using tickets.