x86: work around compiler diagnosing dangling pointer
authorJan Beulich <jbeulich@suse.com>
Mon, 24 Apr 2023 08:37:12 +0000 (10:37 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 24 Apr 2023 08:37:12 +0000 (10:37 +0200)
commit983db9932a302f9e2ae1f1d4fd7c3149560bc269
tree2872636329ab50a253468a0eb4327e79481f1fb9
parentd4a174a5cbb794143164897a4e8a08972fd251a1
x86: work around compiler diagnosing dangling pointer

For quite come time print_insn() has been storing the address of a local
variable into info->private_data. Since the compiler can't know that the
field won't be accessed again after print_insn() returns, it may kind of
legitimately diagnose this. And recent enough gcc does as of the
introduction of the fetch_error() return paths (replacing setjmp()-based
error handling).

Utilizing that neither prefix_name() nor i386_dis_printf() actually use
info->private_data, zap the pointer in fetch_error(), after having
retrieved it for local use.
opcodes/i386-dis.c