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 <ovpan...@gmail.com>
Cc: Sean Anderson <sean...@gmail.com>
Cc: Simon Glass <s...@chromium.org>
---
 drivers/core/dump.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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);
-- 
2.17.1

Reply via email to