diff --git a/src/libpsl-native/src/getpwuid.cpp b/src/libpsl-native/src/getpwuid.cpp index d28a28de27..f147d7d801 100644 --- a/src/libpsl-native/src/getpwuid.cpp +++ b/src/libpsl-native/src/getpwuid.cpp @@ -20,11 +20,6 @@ //! The user identifier to lookup. //! @endparblock //! -//! @exception errno Passes these errors via errno to GetLastError: -//! - ERROR_NO_SUCH_USER: user lookup unsuccessful -//! - ERROR_OUTOFMEMORY insufficient kernel memory -//! - ERROR_GEN_FAILURE: anything else -//! //! @retval username as UTF-8 string, or NULL if unsuccessful //! char* GetPwUid(uid_t uid) @@ -43,27 +38,16 @@ char* GetPwUid(uid_t uid) allocate: buf = (char*)calloc(buflen, sizeof(char)); + errno = 0; ret = getpwuid_r(uid, &pwd, buf, buflen, &result); if (ret != 0) { - switch(errno) + if (errno == ERANGE) { - case ERANGE: free(buf); buflen *= 2; goto allocate; - case ENOENT: - case ESRCH: - case EBADF: - case EPERM: - errno = ERROR_NO_SUCH_USER; - break; - case ENOMEM: - errno = ERROR_OUTOFMEMORY; - break; - default: - errno = ERROR_GEN_FAILURE; } return NULL; } diff --git a/src/libpsl-native/src/getuserfrompid.cpp b/src/libpsl-native/src/getuserfrompid.cpp index 2211becf87..89b49ea5db 100644 --- a/src/libpsl-native/src/getuserfrompid.cpp +++ b/src/libpsl-native/src/getuserfrompid.cpp @@ -33,7 +33,6 @@ char* GetUserFromPid(pid_t pid) int ret = sysctl(name, namelen, &oldp, &oldlenp, NULL, 0); if (ret != 0 || oldlenp == 0) { - errno = ERROR_GEN_FAILURE; return NULL; }