diff options
author | Patrick Georgi <pgeorgi@chromium.org> | 2016-12-15 15:21:56 +0100 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2017-02-10 18:01:52 +0100 |
commit | ded1e05d11675d899e07906e04032b3cc2f29711 (patch) | |
tree | 7aa5955d81c35558d925d1bde8bbdcc03d89e18f /util/romcc | |
parent | 44a46a1f041ad7101cfe3c2dcb94b1406bd4246b (diff) | |
download | coreboot-ded1e05d11675d899e07906e04032b3cc2f29711.tar.xz |
util/romcc: Don't reference a variable after checking it for NULL
Change-Id: Ic8e850bdf75d38fc061fb3a8c55d38bcf09c305a
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1129146
Reviewed-on: https://review.coreboot.org/17886
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'util/romcc')
-rw-r--r-- | util/romcc/romcc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/util/romcc/romcc.c b/util/romcc/romcc.c index aa41ccf2ce..9a7d1a2ff6 100644 --- a/util/romcc/romcc.c +++ b/util/romcc/romcc.c @@ -21319,15 +21319,15 @@ static void verify_blocks(struct compile_state *state) "computed users %d != stored users %d", users, block->users); } + if (!(block->last->next) || !(block->last->next->u.block)) { + internal_error(state, block->last, + "bad next block"); + } if (!triple_stores_block(state, block->last->next)) { internal_error(state, block->last->next, "cannot find next block"); } block = block->last->next->u.block; - if (!block) { - internal_error(state, block->last->next, - "bad next block"); - } } while(block != state->bb.first_block); if (blocks != state->bb.last_vertex) { internal_error(state, 0, "computed blocks: %d != stored blocks %d", |