[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/2] util/getauxval: Ensure setting errno if not found
From: |
Vivian Wang |
Subject: |
[PATCH v2 1/2] util/getauxval: Ensure setting errno if not found |
Date: |
Tue, 23 Jul 2024 18:05:44 +0800 |
Sometimes zero is a valid value for getauxval (e.g. AT_EXECFD). Make
sure that we can distinguish between a valid zero value and a not found
entry by setting errno.
Assumes that getauxval from sys/auxv.h sets errno correctly.
Signed-off-by: Vivian Wang <uwu@dram.page>
---
util/getauxval.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/util/getauxval.c b/util/getauxval.c
index b124107d61..fad16c406e 100644
--- a/util/getauxval.c
+++ b/util/getauxval.c
@@ -95,6 +95,7 @@ unsigned long qemu_getauxval(unsigned long type)
}
}
+ errno = ENOENT;
return 0;
}
@@ -104,7 +105,9 @@ unsigned long qemu_getauxval(unsigned long type)
unsigned long qemu_getauxval(unsigned long type)
{
unsigned long aux = 0;
- elf_aux_info(type, &aux, sizeof(aux));
+ int ret = elf_aux_info(type, &aux, sizeof(aux));
+ if (ret != 0)
+ errno = ret;
return aux;
}
@@ -112,6 +115,7 @@ unsigned long qemu_getauxval(unsigned long type)
unsigned long qemu_getauxval(unsigned long type)
{
+ errno = ENOSYS;
return 0;
}
--
2.45.1