From: Ovidiu Panait <ovpanait@gmail.com>
Date: Sun, 5 Apr 2020 16:47:40 +0000 (+0300)
Subject: dm: dump.c: Fix segfault when entry->of_match is NULL
X-Git-Tag: v2025.01-rc5-pxa1908~2488^2~1
X-Git-Url: http://git.dujemihanovic.xyz/%7B%7B%20.Permalink%20%7D%7D?a=commitdiff_plain;h=02197fa749e21107e3330b2a244f7d5c455e456e;p=u-boot.git

dm: dump.c: Fix segfault when entry->of_match is NULL

Currently, dm drivers command produces a segfault:
=> dm drivers
Driver                Compatible
--------------------------------
Segmentation fault (core dumped)

This is caused by a NULL pointer dereference of entry->of_match.
Add a check to prevent this.

Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
Cc: Sean Anderson <seanga2@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
---

diff --git a/drivers/core/dump.c b/drivers/core/dump.c
index e73ebeabcc..b5046398d4 100644
--- a/drivers/core/dump.c
+++ b/drivers/core/dump.c
@@ -107,7 +107,8 @@ void dm_dump_drivers(void)
 	puts("Driver                Compatible\n");
 	puts("--------------------------------\n");
 	for (entry = d; entry < d + n_ents; entry++) {
-		for (match = entry->of_match; match->compatible; match++)
+		for (match = entry->of_match;
+		     match && match->compatible; match++)
 			printf("%-20.20s  %s\n",
 			       match == entry->of_match ? entry->name : "",
 			       match->compatible);