Fixed a possibility of buffer overflow in Superscalar generator

pull/40/head
tevador 5 years ago
parent ddb3aea562
commit 3f7139d3aa

@ -679,7 +679,7 @@ namespace randomx {
//if we have issued all macro-ops for the current RandomX instruction, create a new instruction
if (macroOpIndex >= currentInstruction.getInfo().getSize()) {
if (portsSaturated)
if (portsSaturated || programSize >= RANDOMX_SUPERSCALAR_MAX_SIZE)
break;
//select an instruction so that the first macro-op fits into the current slot
currentInstruction.createForSlot(gen, decodeBuffer->getCounts()[bufferIndex], decodeBuffer->getIndex(), decodeBuffer->getSize() == bufferIndex + 1, bufferIndex == 0);

Loading…
Cancel
Save