romcc: avoid use-after-free

Windows bugchecks on this for a while, so we ifndef'd the free() call out.
Now some Linuxes (depending on their glibc) also fail on it, so just
remove the call altogether at the cost of some leaked memory (couple
hundred kilobytes) because tracking down the precise fix is too hard.

In case someone wants to fix it, valgrind sees the issues, so
revert this change and work on romcc's memory management until valgrind
is happy.
To get a fix in, provide a good explanation why your change is actually
the right way to fix it - for silencing valgrind, this change will do.

Change-Id: Iae3f847e09a0d7bcb8bb4f50983a1b0727570b23
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/6846
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Tested-by: build bot (Jenkins)
This commit is contained in:
Patrick Georgi 2014-09-05 23:54:04 +02:00
parent 2d7bd8a6eb
commit 34e7615235
1 changed files with 0 additions and 3 deletions

View File

@ -15161,9 +15161,6 @@ static void free_basic_block(struct compile_state *state, struct block *block)
} }
} }
memset(block, -1, sizeof(*block)); memset(block, -1, sizeof(*block));
#ifndef WIN32
xfree(block);
#endif
} }
static void free_basic_blocks(struct compile_state *state, static void free_basic_blocks(struct compile_state *state,