From 86803784d3a459170a1e73dfbd1ecdcfc0d853d5 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Thu, 16 Apr 2020 23:13:28 -0700 Subject: device: Add checks for NULL in device_const.c functions This change checks to ensure that device/path passed into any of the functions in device_const.c is not NULL. Since NULL is not expected to be passed into these functions, this change adds a die() call in case the assumption is broken. Change-Id: I1ad8d2bcb9d0546104c5e065af1eeff331cdf96d Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/c/coreboot/+/40475 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Angel Pons --- src/device/device_const.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/device/device_const.c b/src/device/device_const.c index c59c5e9b69..2e0ccc4c3b 100644 --- a/src/device/device_const.c +++ b/src/device/device_const.c @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* This file is part of the coreboot project. */ +#include #include #include #include @@ -86,6 +87,13 @@ static int path_eq(const struct device_path *path1, { int equal = 0; + if (!path1 || !path2) { + assert(path1); + assert(path2); + /* Return 0 in case assert is considered non-fatal. */ + return 0; + } + if (path1->type != path2->type) return 0; @@ -156,6 +164,13 @@ DEVTREE_CONST struct device *find_dev_path( const struct bus *parent, const struct device_path *path) { DEVTREE_CONST struct device *child; + + if (!parent) { + assert(0); + /* Return NULL in case asserts are considered non-fatal. */ + return NULL; + } + for (child = parent->children; child; child = child->sibling) { if (path_eq(path, &child->path)) break; -- cgit v1.2.3