From e3e68b9baa9723916b1999394432e9ad260cfaa2 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 1 Jul 2023 09:08:48 +0000 Subject: [PATCH] virt: Fix off-by-one error when detecting hypervisor Reported-by: Mauro Condarelli Fixes: #13155 - _fireinfo.detect_hypervisor() rises Segmentation fault Signed-off-by: Michael Tremer --- src/_fireinfo/fireinfo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_fireinfo/fireinfo.c b/src/_fireinfo/fireinfo.c index 1d3f424..18edf34 100644 --- a/src/_fireinfo/fireinfo.c +++ b/src/_fireinfo/fireinfo.c @@ -32,8 +32,8 @@ enum hypervisors { HYPER_KVM, HYPER_MSHV, HYPER_VMWARE, + // Must always be last HYPER_OTHER, - HYPER_LAST /* for loop - must be last*/ }; const char *hypervisor_ids[] = { @@ -157,7 +157,7 @@ int detect_hypervisor(int *hypervisor) { *hypervisor = HYPER_OTHER; if (*sig.text) { - for (int id = HYPER_NONE + 1; id < HYPER_LAST; id++) { + for (int id = HYPER_NONE + 1; id < HYPER_OTHER; id++) { if (strcmp(hypervisor_ids[id], sig.text) == 0) { *hypervisor = id; break; -- 2.47.2