Fixed signature iterator loop. We must reduce the iterator because the call qvector::erase() shifts vector and causes skipping elements of iterator in the loop. This cause crashes in some situations.
This commit is contained in:
@@ -227,7 +227,7 @@ bool AutoGenerate( qSigVector& refvecSig, ea_t dwAddress )
|
|||||||
msg( "not enough candidates to proceed. aborting...\n" );
|
msg( "not enough candidates to proceed. aborting...\n" );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
vecSig.erase( i );
|
vecSig.erase( i-- );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
(*i).iOpCount++;
|
(*i).iOpCount++;
|
||||||
@@ -441,4 +441,4 @@ void GenerateSig( SigType eType )
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user