Fix -Wmaybe-uninitialized warning in opcodes/i386-dis.c

A recent change in opcodes/i386-dis.c caused a build failure on my
x86-64 Fedora 36 system, which uses:

$ gcc --version
gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)
[...]

The error is:

../../binutils-gdb/opcodes/i386-dis.c: In function ‘OP_J’:
../../binutils-gdb/opcodes/i386-dis.c:12705:22: error: ‘val’ may be used uninitialized [-Werror=maybe-uninitialized]
12705 |           disp = val & 0x8000 ? val - 0x10000 : val;
      |                  ~~~~^~~~~~~~

This patch fixes the warning.

opcodes/ChangeLog
2023-04-21  Tom Tromey  <tromey@adacore.com>

	* i386-dis.c (OP_J): Check result of get16.
This commit is contained in:
Tom Tromey 2023-04-21 07:05:53 -06:00
parent fbdecfbf28
commit da9a978aae
2 changed files with 6 additions and 1 deletions

View file

@ -1,3 +1,7 @@
2023-04-21 Tom Tromey <tromey@adacore.com>
* i386-dis.c (OP_J): Check result of get16.
2023-04-12 Claudiu Zissulescu <claziss@synopsys.com>
* arc-tbl.h: Remove vadds2, vadds2h, vadds4h, vaddsubs,

View file

@ -12701,7 +12701,8 @@ OP_J (instr_info *ins, int bytemode, int sizeflag)
{
int val;
get16 (ins, &val);
if (!get16 (ins, &val))
return false;
disp = val & 0x8000 ? val - 0x10000 : val;
/* In 16bit mode, address is wrapped around at 64k within
the same segment. Otherwise, a data16 prefix on a jump