Commit 0860367e for tesseract
commit 0860367e4ddb92df0c0d27c5c3d4100e1e385808
Author: Brad Smith <brad@comstyle.com>
Date: Mon Nov 2 07:57:14 2026 -0500
Add error checking for elf_aux_info() (#4637)
Explicitly initialize hardware capabilities to zero if the auxiliary vector lookup fails.
Co-authored-by: Stefan Weil <sw@weilnetz.de>
diff --git a/src/arch/simddetect.cpp b/src/arch/simddetect.cpp
index 132ef8e4..cc957589 100644
--- a/src/arch/simddetect.cpp
+++ b/src/arch/simddetect.cpp
@@ -256,8 +256,10 @@ SIMDDetect::SIMDDetect() {
# elif defined(HAVE_GETAUXVAL)
neon_available_ = getauxval(AT_HWCAP) & HWCAP_NEON;
# elif defined(HAVE_ELF_AUX_INFO)
- unsigned long hwcap = 0;
- elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap);
+ unsigned long hwcap;
+ if (elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap) != 0) {
+ hwcap = 0;
+ }
neon_available_ = hwcap & HWCAP_NEON;
# endif
#endif
@@ -267,8 +269,10 @@ SIMDDetect::SIMDDetect() {
const unsigned long hwcap = getauxval(AT_HWCAP);
rvv_available_ = hwcap & HWCAP_RV('V');
# elif defined(HAVE_ELF_AUX_INFO)
- unsigned long hwcap = 0;
- elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap);
+ unsigned long hwcap;
+ if (elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap) != 0) {
+ hwcap = 0;
+ }
rvv_available_ = hwcap & HWCAP_RV('V');
# endif
#endif