From fd038963f1b0a46d01c7aae6e7541d884500bb23 Mon Sep 17 00:00:00 2001 From: Dr-Noob Date: Wed, 15 Oct 2025 07:26:15 +0200 Subject: [PATCH] Make sure uarch is valid before attempting to access it --- src/hsa/uarch.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/hsa/uarch.cpp b/src/hsa/uarch.cpp index 61bd41a..913a5f1 100644 --- a/src/hsa/uarch.cpp +++ b/src/hsa/uarch.cpp @@ -287,8 +287,24 @@ struct uarch* get_uarch_from_hsa(struct gpu_info* gpu, char* gpu_name) { return arch; } -// TODO: Shouldnt we check that arch->uarch is valid? +bool is_uarch_valid(struct uarch* arch) { + if (arch == NULL) { + printBug("Invalid uarch: arch is NULL"); + return false; + } + if (arch->uarch >= UARCH_UNKNOWN && arch->uarch <= UARCH_CDNA4) { + return true; + } + else { + printBug("Invalid uarch: %d", arch->uarch); + return false; + } +} + const char* get_str_uarch_hsa(struct uarch* arch) { + if (!is_uarch_valid(arch)) { + return NULL; + } return uarch_str[arch->uarch]; }