aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
Diffstat (limited to 'libgo')
-rw-r--r--libgo/go/os/user/lookup_unix.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/libgo/go/os/user/lookup_unix.go b/libgo/go/os/user/lookup_unix.go
index 68f8914..ebc86848 100644
--- a/libgo/go/os/user/lookup_unix.go
+++ b/libgo/go/os/user/lookup_unix.go
@@ -73,11 +73,14 @@ func lookup(uid int, username string, lookupByName bool) (*User, error) {
const bufSize = 1024
buf := make([]byte, bufSize)
if lookupByName {
- rv := libc_getpwnam_r(syscall.StringBytePtr(username),
+ p := syscall.StringBytePtr(username)
+ syscall.Entersyscall()
+ rv := libc_getpwnam_r(p,
&pwd,
&buf[0],
bufSize,
&result)
+ syscall.Exitsyscall()
if rv != 0 {
return nil, fmt.Errorf("user: lookup username %s: %s", username, syscall.GetErrno())
}
@@ -85,11 +88,13 @@ func lookup(uid int, username string, lookupByName bool) (*User, error) {
return nil, UnknownUserError(username)
}
} else {
+ syscall.Entersyscall()
rv := libc_getpwuid_r(syscall.Uid_t(uid),
&pwd,
&buf[0],
bufSize,
&result)
+ syscall.Exitsyscall()
if rv != 0 {
return nil, fmt.Errorf("user: lookup userid %d: %s", uid, syscall.GetErrno())
}