diff --git a/gas/ChangeLog b/gas/ChangeLog index d515f3bfc3..fbadd0bd95 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2017-01-20 Nick Clifton + + * config/tc-i386.c (parse_operands): Check for operand overflow + before setting the unspecified bit. + 2017-01-18 Maciej W. Rozycki PR gas/20649 diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 80812cfb09..1fc6bc7bdb 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4136,13 +4136,13 @@ parse_operands (char *l, const char *mnemonic) { /* Yes, we've read in another operand. */ unsigned int operand_ok; this_operand = i.operands++; - i.types[this_operand].bitfield.unspecified = 1; if (i.operands > MAX_OPERANDS) { as_bad (_("spurious operands; (%d operands/instruction max)"), MAX_OPERANDS); return NULL; } + i.types[this_operand].bitfield.unspecified = 1; /* Now parse operand adding info to 'i' as we go along. */ END_STRING_AND_SAVE (l);