Don't retrieve uid/gid from auxv

This commit is contained in:
Justine Tunney 2022-07-24 23:54:07 -07:00
parent e98514cdb7
commit bd118dafa0
3 changed files with 4 additions and 22 deletions

View file

@ -16,13 +16,11 @@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE. PERFORMANCE OF THIS SOFTWARE.
*/ */
#include "libc/calls/_getauxval.internal.h"
#include "libc/calls/calls.h" #include "libc/calls/calls.h"
#include "libc/calls/strace.internal.h" #include "libc/calls/strace.internal.h"
#include "libc/calls/syscall-sysv.internal.h" #include "libc/calls/syscall-sysv.internal.h"
#include "libc/dce.h" #include "libc/dce.h"
#include "libc/runtime/runtime.h" #include "libc/runtime/runtime.h"
#include "libc/sysv/consts/auxv.h"
/** /**
* Returns effective group ID of calling process. * Returns effective group ID of calling process.
@ -30,10 +28,7 @@
*/ */
int getegid(void) { int getegid(void) {
int rc; int rc;
struct AuxiliaryValue av; if (!IsWindows()) {
if ((av = _getauxval(AT_EGID)).isfound) {
rc = av.value;
} else if (!IsWindows()) {
rc = sys_getegid(); rc = sys_getegid();
} else { } else {
rc = getgid(); rc = getgid();

View file

@ -16,12 +16,10 @@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE. PERFORMANCE OF THIS SOFTWARE.
*/ */
#include "libc/calls/_getauxval.internal.h"
#include "libc/calls/calls.h" #include "libc/calls/calls.h"
#include "libc/calls/strace.internal.h" #include "libc/calls/strace.internal.h"
#include "libc/calls/syscall-sysv.internal.h" #include "libc/calls/syscall-sysv.internal.h"
#include "libc/runtime/runtime.h" #include "libc/runtime/runtime.h"
#include "libc/sysv/consts/auxv.h"
/** /**
* Returns effective user ID of calling process. * Returns effective user ID of calling process.
@ -29,10 +27,7 @@
*/ */
int geteuid(void) { int geteuid(void) {
int rc; int rc;
struct AuxiliaryValue av; if (!IsWindows()) {
if ((av = _getauxval(AT_EUID)).isfound) {
rc = av.value;
} else if (!IsWindows()) {
rc = sys_geteuid(); rc = sys_geteuid();
} else { } else {
rc = getuid(); rc = getuid();

View file

@ -16,7 +16,6 @@
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE. PERFORMANCE OF THIS SOFTWARE.
*/ */
#include "libc/calls/_getauxval.internal.h"
#include "libc/calls/calls.h" #include "libc/calls/calls.h"
#include "libc/calls/strace.internal.h" #include "libc/calls/strace.internal.h"
#include "libc/calls/syscall-sysv.internal.h" #include "libc/calls/syscall-sysv.internal.h"
@ -25,7 +24,6 @@
#include "libc/nt/accounting.h" #include "libc/nt/accounting.h"
#include "libc/runtime/runtime.h" #include "libc/runtime/runtime.h"
#include "libc/str/str.h" #include "libc/str/str.h"
#include "libc/sysv/consts/auxv.h"
static uint32_t KnuthMultiplicativeHash32(const void *buf, size_t size) { static uint32_t KnuthMultiplicativeHash32(const void *buf, size_t size) {
size_t i; size_t i;
@ -54,10 +52,7 @@ static textwindows dontinline uint32_t GetUserNameHash(void) {
*/ */
int getuid(void) { int getuid(void) {
int rc; int rc;
struct AuxiliaryValue av; if (!IsWindows()) {
if ((av = _getauxval(AT_UID)).isfound) {
rc = av.value;
} else if (!IsWindows()) {
rc = sys_getuid(); rc = sys_getuid();
} else { } else {
rc = GetUserNameHash(); rc = GetUserNameHash();
@ -78,10 +73,7 @@ int getuid(void) {
*/ */
int getgid(void) { int getgid(void) {
int rc; int rc;
struct AuxiliaryValue av; if (!IsWindows()) {
if ((av = _getauxval(AT_GID)).isfound) {
rc = av.value;
} else if (!IsWindows()) {
rc = sys_getgid(); rc = sys_getgid();
} else { } else {
rc = GetUserNameHash(); rc = GetUserNameHash();