On Fri, 2016-03-04 at 16:42 -0800, David Decotigny wrote: > From: David Decotigny <[email protected]> > > The 'regs' pointer is owned by do_gregs(), but updated internally inside > dump_regs() without propagating it back to do_gregs(): later free(regs) > in do_gregs() reclaims the wrong area. This commit moves the realloc() > inside do_gregs().
Wow, how did we ever get away with this?
Maybe no-one ever used this feature - it certainly makes very little
sense to save a register dump without the driver name or version
number, and then to assume that a loaded register dump matches the
running driver!
[...]
> @@ -2711,7 +2691,31 @@ static int do_gregs(struct cmd_context *ctx)
> free(regs);
> return 74;
> }
> - if (dump_regs(gregs_dump_raw, gregs_dump_hex, gregs_dump_file,
> +
> + if ((!gregs_dump_raw) && (NULL != gregs_dump_file)) {
[...]
Redundant parentheses, and the comparison is written the wrong way
round.
Ben.
--
Ben Hutchings
The most exhausting thing in life is being insincere. - Anne Morrow Lindberg
signature.asc
Description: This is a digitally signed message part
