getauxval: fall through to auxv gfter getauxval errno test

if when we need to determine if getauxval sets errno, we determine it doesn't
after getting a 0 return code, make sure we return a value, since we didn't
previously. fall through to code we'd otherwise have called in this case
above.
This commit is contained in:
Daria Phoebe Brashear
2018-03-22 09:42:01 -07:00
committed by Jeffrey Altman
parent 7ee3cc6855
commit 6aece8ea06

View File

@@ -159,6 +159,7 @@ rk_getprocauxval(unsigned long type)
ROKEN_LIB_FUNCTION unsigned long ROKEN_LIB_CALL
rk_getauxval(unsigned long type)
{
const auxv_t *a;
#ifdef HAVE_GETAUXVAL
#ifdef GETAUXVAL_SETS_ERRNO
if (rk_injected_auxv)
@@ -184,8 +185,6 @@ rk_getauxval(unsigned long type)
}
if (getauxval_sets_errno == 0) {
const auxv_t *a;
errno = save_errno;
a = rk_getauxv(type);
if (a == NULL) {
@@ -214,15 +213,12 @@ rk_getauxval(unsigned long type)
getauxval_sets_errno = 0;
errno = save_errno;
#endif
#else
const auxv_t *a;
#endif
if ((a = rk_getauxv(type)) == NULL) {
errno = ENOENT;
return 0;
}
return a->a_un.a_val;
#endif
}
/**