Don't loop over an array without an index
contract AvoidContract{
ctUint32 data;
ctUint32[] secretArray;
function setDataAtSecretIndex(gtUint index) public {
//...
gtUint32 gtData=0;
for (uint32 i = 0; i < secretArray.length; i++) {
gtAti = MpcCore.onboard(secretArray[i])
if (i==0){
gtData = gtAti;
}
gtBool isEqual = MpcCore.eq(index, i);
gtData = MpcCore.mux(isEqual, gtAti , gtData);
}
if(gtData!=0)
data = MpcCore.offboard(gtData)
}
}Was this helpful?