diff mbox

hw/slw: fix possible NULL dereference

Message ID 20170223020142.4496-1-stewart@linux.vnet.ibm.com
State Accepted
Headers show

Commit Message

Stewart Smith Feb. 23, 2017, 2:01 a.m. UTC
Found by static analysis

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
 hw/slw.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

Comments

Stewart Smith March 3, 2017, 3:59 a.m. UTC | #1
Stewart Smith <stewart@linux.vnet.ibm.com> writes:
> Found by static analysis
>
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>

Merged to master as of 0d31de63ff037a4a0d77ce96005977b62ce12532
diff mbox

Patch

diff --git a/hw/slw.c b/hw/slw.c
index 97d475862712..bea1028dd091 100644
--- a/hw/slw.c
+++ b/hw/slw.c
@@ -1219,11 +1219,17 @@  int64_t opal_slw_set_reg(uint64_t cpu_pir, uint64_t sprn, uint64_t val)
 {
 
 	struct cpu_thread *c = find_cpu_by_pir(cpu_pir);
-	struct proc_chip *chip = get_chip(c->chip_id);
-	void *image = (void *) chip->slw_base;
+	struct proc_chip *chip;
+	void *image;
 	int rc;
 	int i;
 	int spr_is_supported = 0;
+
+	assert(c);
+	chip = get_chip(c->chip_id);
+	assert(chip);
+	image = (void *) chip->slw_base;
+
 	/* Check of the SPR is supported by libpore */
 	for ( i=0; i < SLW_SPR_REGS_SIZE ; i++)  {
 		if (sprn == SLW_SPR_REGS[i].value)  {