Opened 5 years ago
Last modified 5 years 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)
Change history (2)
Changed 5 years ago by VChemezov
comment:1 Changed 5 years ago by VChemezov
You can check it on POC = 10, pu position = (184, 128), _mv = (-8, -8)
encoded with VTM encoder ver. 8.0