Avoid future integer overflow in _OutputArray::create

This fix is useless in 4.x and fixes harmless overflows in 5.x
This belongs to 4.x as it is closer to the intended meaning.
This commit is contained in:
Vincent Rabaud 2024-07-23 16:22:55 +02:00
parent 93b607dc72
commit e1b57057bf

View File

@ -1294,7 +1294,7 @@ void _OutputArray::create(int d, const int* sizes, int mtype, int i,
if(fixedType())
{
if(CV_MAT_CN(mtype) == m.channels() && ((1 << CV_MAT_TYPE(flags)) & fixedDepthMask) != 0 )
if(CV_MAT_CN(mtype) == m.channels() && ((1 << CV_MAT_DEPTH(flags)) & fixedDepthMask) != 0 )
mtype = m.type();
else
CV_CheckTypeEQ(m.type(), CV_MAT_TYPE(mtype), "Can't reallocate Mat with locked type (probably due to misused 'const' modifier)");