From fcb772c2f253c2195317e511abe42269d7b9a725 Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Thu, 15 Dec 2016 15:24:06 +0100 Subject: [PATCH] UPSTREAM: util/romcc: Don't read 'member' if it might be NULL The earlier loop exits gracefully iff i == index. In other cases, member might be NULL, so check that the scan was successful before using its results. BUG=None BRANCH=None TEST=None Signed-off-by: Patrick Georgi Found-by: Coverity Scan #1129147 Reviewed-on: https://review.coreboot.org/17887 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth Change-Id: I818c233d797d82fa819243c4626dd9c4b7de3ac6 Reviewed-on: https://chromium-review.googlesource.com/422219 Commit-Ready: Furquan Shaikh Tested-by: Furquan Shaikh Reviewed-by: Aaron Durbin --- util/romcc/romcc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/util/romcc/romcc.c b/util/romcc/romcc.c index 7b5e5d7e12..baf8014f0a 100644 --- a/util/romcc/romcc.c +++ b/util/romcc/romcc.c @@ -6406,11 +6406,10 @@ static size_t index_reg_offset(struct compile_state *state, i++; member = member->right; } - size += reg_needed_padding(state, member, size); if (i != index) { internal_error(state, 0, "Missing member index: %u", index); } - + size += reg_needed_padding(state, member, size); } else if ((type->type & TYPE_MASK) == TYPE_JOIN) { ulong_t i;