mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-11-27 08:10:07 +08:00
AVX-512: Fix bugs related to uninitialized variables
Initialized disp8 to avoid a case that disp8 encoded instead of the actual offset value. Added a checking routine for basereg value before using it as an index of array. Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
parent
eb595942b2
commit
db358a2993
@ -2147,7 +2147,8 @@ static enum match_result matches(const struct itemplate *itemp,
|
||||
*/
|
||||
opsizemissing = true;
|
||||
}
|
||||
} else if (nasm_regvals[instruction->oprs[i].basereg] >= 16 &&
|
||||
} else if (is_register(instruction->oprs[i].basereg) &&
|
||||
nasm_regvals[instruction->oprs[i].basereg] >= 16 &&
|
||||
!(itemp->flags & IF_AVX512)) {
|
||||
return MERR_ENCMISMATCH;
|
||||
}
|
||||
@ -2313,6 +2314,7 @@ static enum ea_type process_ea(operand *input, ea *output, int bits,
|
||||
|
||||
output->type = EA_SCALAR;
|
||||
output->rip = false;
|
||||
output->disp8 = 0;
|
||||
|
||||
/* REX flags for the rfield operand */
|
||||
output->rex |= rexflags(rfield, rflags, REX_R | REX_P | REX_W | REX_H);
|
||||
|
Loading…
Reference in New Issue
Block a user