X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=support%2Fpwd.c;h=6e3b68a208e9bc2340facb98262023033f9a2527;hb=77cec01d04768827ef0174ef70584f26bc09fe56;hp=4bb6ad6ca2b532e51f3e014cdcb6203b265ff339;hpb=0900c61969ca862b0bcc967b4413e539acf07dbb;p=mono.git diff --git a/support/pwd.c b/support/pwd.c index 4bb6ad6ca2b..6e3b68a208e 100644 --- a/support/pwd.c +++ b/support/pwd.c @@ -183,6 +183,10 @@ Mono_Posix_Syscall_getpwuid_r (mph_uid_t uid, } while ((r = getpwuid_r (uid, &_pwbuf, buf, buflen, (struct passwd**) pwbufp)) && recheck_range (r)); + if (r == 0 && !(*pwbufp)) + /* On solaris, this function returns 0 even if the entry was not found */ + r = errno = ENOENT; + if (r == 0 && copy_passwd (pwbuf, &_pwbuf) == -1) r = errno = ENOMEM; free (buf);