summaryrefslogtreecommitdiff
path: root/lang/ruby/3.2/patches/patch-ext_etc_etc_c
blob: 0d9265a0888dffcf5e5c9d84efa76e23f936b25d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Use shadow versions of password functions.

Index: ext/etc/etc.c
--- ext/etc/etc.c.orig
+++ ext/etc/etc.c
@@ -223,7 +223,7 @@ etc_getpwuid(int argc, VALUE *argv, VALUE obj)
     else {
 	uid = getuid();
     }
-    pwd = getpwuid(uid);
+    pwd = getpwuid_shadow(uid);
     if (pwd == 0) rb_raise(rb_eArgError, "can't find user for %d", (int)uid);
     return setup_passwd(pwd);
 #else
@@ -253,7 +253,7 @@ etc_getpwnam(VALUE obj, VALUE nam)
     struct passwd *pwd;
     const char *p = StringValueCStr(nam);
 
-    pwd = getpwnam(p);
+    pwd = getpwnam_shadow(p);
     if (pwd == 0) rb_raise(rb_eArgError, "can't find user for %"PRIsVALUE, nam);
     return setup_passwd(pwd);
 #else