From 94d61ecab035fbef7e93db8cfbdbabd7c41a264d Mon Sep 17 00:00:00 2001 From: Jacob Garber Date: Wed, 10 Apr 2019 11:51:58 -0600 Subject: util/inteltool: Swap conditions to prevent uninit reads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both values in each array are only initialized if `two_channels` is true, so we need to check that first. Found-by: Coverity Scan #1370{584,585,588,589,590-596,600} Signed-off-by: Jacob Garber Change-Id: I592bc6ae00f834f74a61668d7a3919014ec635f3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/32269 Tested-by: build bot (Jenkins) Reviewed-by: Kyösti Mälkki Reviewed-by: Patrick Rudolph --- util/inteltool/ivy_memory.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/util/inteltool/ivy_memory.c b/util/inteltool/ivy_memory.c index f0e473f5e7..8ce861127b 100644 --- a/util/inteltool/ivy_memory.c +++ b/util/inteltool/ivy_memory.c @@ -172,47 +172,47 @@ void ivybridge_dump_timings(const char *dump_spd_file) printf(".reg_4004_b30 = { %d, %d },\n", reg_4004_b30[0], reg_4004_b30[1]); - if (tFAW[0] != tFAW[1] && two_channels) + if (two_channels && tFAW[0] != tFAW[1]) printf("/* tFAW mismatch: %d, %d */\n", tFAW[0], tFAW[1]); print_time("tFAW", tFAW[0], tCK); - if (tWTR[0] != tWTR[1] && two_channels) + if (two_channels && tWTR[0] != tWTR[1]) printf("/* tWTR mismatch: %d, %d */\n", tWTR[0], tWTR[1]); print_time("tWTR", tWTR[0], tCK); - if (tCKE[0] != tCKE[1] && two_channels) + if (two_channels && tCKE[0] != tCKE[1]) printf("/* tCKE mismatch: %d, %d */\n", tCKE[0], tCKE[1]); print_time("tCKE", tCKE[0], tCK); - if (tRTP[0] != tRTP[1] && two_channels) + if (two_channels && tRTP[0] != tRTP[1]) printf("/* tRTP mismatch: %d, %d */\n", tRTP[0], tRTP[1]); print_time("tRTP", tRTP[0], tCK); - if (tRRD[0] != tRRD[1] && two_channels) + if (two_channels && tRRD[0] != tRRD[1]) printf("/* tRRD mismatch: %d, %d */\n", tRRD[0], tRRD[1]); print_time("tRRD", tRRD[0], tCK); - if (tRAS[0] != tRAS[1] && two_channels) + if (two_channels && tRAS[0] != tRAS[1]) printf("/* tRAS mismatch: %d, %d */\n", tRAS[0], tRAS[1]); print_time("tRAS", tRAS[0], tCK); - if (tCWL[0] != tCWL[1] && two_channels) + if (two_channels && tCWL[0] != tCWL[1]) printf("/* tCWL mismatch: %d, %d */\n", tCWL[0], tCWL[1]); print_time("tCWL", tCWL[0], tCK); - if (tRP[0] != tRP[1] && two_channels) + if (two_channels && tRP[0] != tRP[1]) printf("/* tRP mismatch: %d, %d */\n", tRP[0], tRP[1]); print_time("tRP", tRP[0], tCK); - if (tRCD[0] != tRCD[1] && two_channels) + if (two_channels && tRCD[0] != tRCD[1]) printf("/* tRCD mismatch: %d, %d */\n", tRCD[0], tRCD[1]); print_time("tRCD", tRCD[0], tCK); - if (tXPDLL[0] != tXPDLL[1] && two_channels) + if (two_channels && tXPDLL[0] != tXPDLL[1]) printf("/* tXPDLL mismatch: %d, %d */\n", tXPDLL[0], tXPDLL[1]); print_time("tXPDLL", tXPDLL[0], tCK); - if (tXP[0] != tXP[1] && two_channels) + if (two_channels && tXP[0] != tXP[1]) printf("/* tXP mismatch: %d, %d */\n", tXP[0], tXP[1]); print_time("tXP", tXP[0], tCK); - if (tAONPD[0] != tAONPD[1] && two_channels) + if (two_channels && tAONPD[0] != tAONPD[1]) printf("/* tAONPD mismatch: %d, %d */\n", tAONPD[0], tAONPD[1]); print_time("tAONPD", tAONPD[0], tCK); -- cgit v1.2.3