File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed
Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -1133,8 +1133,8 @@ struct uv_interface_address_s {
11331133
11341134struct uv_passwd_s {
11351135 char * username ;
1136- long uid ;
1137- long gid ;
1136+ unsigned long uid ;
1137+ unsigned long gid ;
11381138 char * shell ;
11391139 char * homedir ;
11401140};
Original file line number Diff line number Diff line change 2222#include "uv.h"
2323#include "task.h"
2424#include <string.h>
25+ #ifndef _WIN32
26+ #include <unistd.h>
27+ #include <sys/types.h>
28+ #endif
2529
2630TEST_IMPL (get_passwd ) {
2731/* TODO(gengjiawen): Fix test on QEMU. */
@@ -64,11 +68,15 @@ TEST_IMPL(get_passwd) {
6468#endif
6569
6670#ifdef _WIN32
67- ASSERT (pwd .uid == -1 );
68- ASSERT (pwd .gid == -1 );
71+ ASSERT_EQ (pwd .uid , ( unsigned ) -1 );
72+ ASSERT_EQ (pwd .gid , ( unsigned ) -1 );
6973#else
70- ASSERT (pwd .uid >= 0 );
71- ASSERT (pwd .gid >= 0 );
74+ ASSERT_NE (pwd .uid , (unsigned )-1 );
75+ ASSERT_NE (pwd .gid , (unsigned )-1 );
76+ ASSERT_EQ (pwd .uid , geteuid ());
77+ if (pwd .uid != 0 && pwd .gid != getgid ())
78+ /* This will be likely true, as only root could have changed it. */
79+ ASSERT_EQ (pwd .gid , getegid ());
7280#endif
7381
7482 /* Test uv_os_free_passwd() */
You can’t perform that action at this time.
0 commit comments