Fix latent bug in msp430-tdep.c
authorTom Tromey <tom@tromey.com>
Sun, 22 Apr 2018 04:42:00 +0000 (22:42 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 5 Oct 2018 04:51:47 +0000 (22:51 -0600)
commitef789dc484a35159ad825c98c4a2502f2097aed7
tree110ef132487f5936ecef82c3f5dc3634fc4b7335
parent3fba72f7612c071f07fc7e65887bd1e8e056e272
Fix latent bug in msp430-tdep.c

-Wshadow=local found this latent bug.  msp430-tdep.c does:

    const gdb_byte *arg_bits;
    {
      /* Aggregates of any size are passed by reference.  */
      gdb_byte struct_addr[4];
[...
      arg_bits = struct_addr;
    }
    ... use arg_bits

Here, arg_bits can point to an object that's gone out of scope.

The fix is to hoist the inner "struct_addr" buffer to an outer scope,
and rename it to avoid shadowing.

gdb/ChangeLog
2018-10-04  Tom Tromey  <tom@tromey.com>

* msp430-tdep.c (msp430_push_dummy_call): Rename inner
"structs_addr" and hoist declaration.
gdb/ChangeLog
gdb/msp430-tdep.c