mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 02:42:44 +00:00 
			
		
		
		
	 5a649d0fd5
			
		
	
	
		5a649d0fd5
		
	
	
	
	
		
			
			For setreuid and setresuid syscalls, -1 means to set the current uid/euid/gid/egid value, to be more convenient for programming. However, for other syscalls where we pass only one argument, there's no justification to specify -1. This behavior is identical to how Linux handles the value -1, and is influenced by the fact that the manual pages for the group of one argument syscalls that handle ID operations is ambiguous about this topic.
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			538 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			538 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibTest/TestCase.h>
 | |
| #include <errno.h>
 | |
| #include <unistd.h>
 | |
| 
 | |
| TEST_CASE(test_invalid_set_uid_parameters)
 | |
| {
 | |
|     auto res = setuid(-1);
 | |
|     EXPECT_EQ(res, -1);
 | |
|     EXPECT_EQ(errno, EINVAL);
 | |
| 
 | |
|     res = seteuid(-1);
 | |
|     EXPECT_EQ(res, -1);
 | |
|     EXPECT_EQ(errno, EINVAL);
 | |
| 
 | |
|     res = setgid(-1);
 | |
|     EXPECT_EQ(res, -1);
 | |
|     EXPECT_EQ(errno, EINVAL);
 | |
| 
 | |
|     res = setegid(-1);
 | |
|     EXPECT_EQ(res, -1);
 | |
|     EXPECT_EQ(errno, EINVAL);
 | |
| }
 |