This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

A patch for setresuid.


Hi,

My machine is broken because of this. BTW, shouldn't we put the
prototype of setresuid in the header file?

Thanks.

-- 
H.J. Lu (hjl@gnu.org)
---
Tue Oct 20 21:30:10 1998  H.J. Lu  <hjl@gnu.org>

	* sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Fix
	argument types and correct the checking for -1.

Index: sysdeps/unix/sysv/linux/i386/setresuid.c
===================================================================
RCS file: /home/work/cvs/gnu/glibc/sysdeps/unix/sysv/linux/i386/setresuid.c,v
retrieving revision 1.1.1.2
diff -u -p -r1.1.1.2 setresuid.c
--- setresuid.c	1998/10/19 20:54:56	1.1.1.2
+++ setresuid.c	1998/10/21 03:01:58
@@ -29,11 +29,11 @@ extern int __syscall_setresuid (__kernel
 				__kernel_uid_t sgid);
 
 int
-__setresuid (gid_t ruid, gid_t euid, gid_t suid)
+__setresuid (uid_t ruid, uid_t euid, uid_t suid)
 {
-  if ((ruid != (uid_t) ((__kernel_uid_t) ruid))
-      || (euid != (uid_t) ((__kernel_uid_t) euid))
-      || (suid != (uid_t) ((__kernel_uid_t) suid)))
+  if ((ruid != (uid_t) ((__kernel_uid_t) ruid) && ruid != (uid_t) -1)
+      || (euid != (uid_t) ((__kernel_uid_t) euid) && euid != (uid_t) -1)
+      || (suid != (uid_t) ((__kernel_uid_t) suid) && suid != (uid_t) -1))
     {
       __set_errno (EINVAL);
       return -1;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]