forked from pool/systemd
46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
|
From f841a154efbb3162d2a732936f031ac7a6b0d4cf Mon Sep 17 00:00:00 2001
|
||
|
From: Kay Sievers <kay@vrfy.org>
|
||
|
Date: Tue, 1 Jul 2014 16:00:05 +0200
|
||
|
Subject: [PATCH] parse_uid: return -ENXIO for -1 uids
|
||
|
|
||
|
---
|
||
|
src/shared/audit.c | 3 ---
|
||
|
src/shared/util.c | 4 ++--
|
||
|
2 files changed, 2 insertions(+), 5 deletions(-)
|
||
|
|
||
|
diff --git src/shared/audit.c src/shared/audit.c
|
||
|
index 5466447..f101050 100644
|
||
|
--- src/shared/audit.c
|
||
|
+++ src/shared/audit.c
|
||
|
@@ -77,9 +77,6 @@ int audit_loginuid_from_pid(pid_t pid, uid_t *uid) {
|
||
|
if (r < 0)
|
||
|
return r;
|
||
|
|
||
|
- if (u == (uid_t) -1)
|
||
|
- return -ENXIO;
|
||
|
-
|
||
|
*uid = (uid_t) u;
|
||
|
return 0;
|
||
|
}
|
||
|
diff --git src/shared/util.c src/shared/util.c
|
||
|
index e75f6c9..9b5a47a 100644
|
||
|
--- src/shared/util.c
|
||
|
+++ src/shared/util.c
|
||
|
@@ -282,11 +282,11 @@ int parse_uid(const char *s, uid_t* ret_uid) {
|
||
|
|
||
|
/* Some libc APIs use (uid_t) -1 as special placeholder */
|
||
|
if (uid == (uid_t) 0xFFFFFFFF)
|
||
|
- return -EINVAL;
|
||
|
+ return -ENXIO;
|
||
|
|
||
|
/* A long time ago UIDs where 16bit, hence explicitly avoid the 16bit -1 too */
|
||
|
if (uid == (uid_t) 0xFFFF)
|
||
|
- return -EINVAL;
|
||
|
+ return -ENXIO;
|
||
|
|
||
|
*ret_uid = uid;
|
||
|
return 0;
|
||
|
--
|
||
|
1.7.9.2
|
||
|
|