ea4a6f
From d6fa84f8a80d5e1c526fe675c345f709a700e33e Mon Sep 17 00:00:00 2001
ea4a6f
From: =?UTF-8?q?Josef=20M=C3=B6llers?= <josef.moellers@suse.com>
ea4a6f
Date: Fri, 20 Jul 2018 08:56:48 +0200
ea4a6f
Subject: [PATCH] Prevent infinite recursion in dmidecode.c::smbios_setslot by
ea4a6f
 (#7)
ea4a6f
ea4a6f
Checking that subordinate bus has a number greater than the
ea4a6f
current bus.
ea4a6f
Fixes SUSE bug#1093625
ea4a6f
---
ea4a6f
 src/dmidecode/dmidecode.c | 2 +-
ea4a6f
 1 file changed, 1 insertion(+), 1 deletion(-)
ea4a6f
ea4a6f
diff --git a/src/dmidecode/dmidecode.c b/src/dmidecode/dmidecode.c
ea4a6f
index 1d805bb..a01a6ce 100644
ea4a6f
--- a/src/dmidecode/dmidecode.c
ea4a6f
+++ b/src/dmidecode/dmidecode.c
ea4a6f
@@ -153,7 +153,7 @@ void smbios_setslot(const struct libbiosdevname_state *state,
ea4a6f
 		}
ea4a6f
     
ea4a6f
 		/* Found a PDEV, now is it a bridge? */
ea4a6f
-		if (pdev->sbus != -1) {
ea4a6f
+		if (pdev->sbus != -1  && pdev->sbus > bus) {
ea4a6f
 			smbios_setslot(state, domain, pdev->sbus, -1, -1, type, slot, index, label);
ea4a6f
 		}
ea4a6f
 	}
ea4a6f
-- 
ea4a6f
2.17.2
ea4a6f