The smbios_get_val_si() function may get called for a sysinfo
property for which there is no mapping to a devicetree property.
Avoid a NULL pointer dereference in this case by skipping the
read of the mapped property from the device tree.

Fixes: 83b28b55d74f ("smbios: add support for dynamic generation of Type 9 
system slot tables")
Signed-off-by: Mark Kettenis <[email protected]>
---
 lib/smbios.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/smbios.c b/lib/smbios.c
index d5f18c8bd69..906d2753517 100644
--- a/lib/smbios.c
+++ b/lib/smbios.c
@@ -292,7 +292,7 @@ static int smbios_get_val_si(struct smbios_ctx * 
__maybe_unused ctx,
 
        /* If the node is still missing, try with the mapping values */
        nprop = convert_sysinfo_to_dt(ctx->subnode_name, prop);
-       if (!ofnode_read_u32(ofnode_root(), nprop->dt_str, &val))
+       if (nprop && !ofnode_read_u32(ofnode_root(), nprop->dt_str, &val))
                return val;
 #endif
        return val_def;
-- 
2.53.0

Reply via email to