Skip to content
Snippets Groups Projects
Commit 2bc86911 authored by Christoph Langer's avatar Christoph Langer
Browse files

8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted"

Reviewed-by: alanb
parent de7ea8db
No related branches found
No related tags found
No related merge requests found
/* /*
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -1244,8 +1244,11 @@ Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0(JNIEnv* env, jclass this, ...@@ -1244,8 +1244,11 @@ Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0(JNIEnv* env, jclass this,
if (res != 0 || p == NULL || p->pw_name == NULL || *(p->pw_name) == '\0') { if (res != 0 || p == NULL || p->pw_name == NULL || *(p->pw_name) == '\0') {
/* not found or error */ /* not found or error */
if (errno != 0 && errno != ENOENT && errno != ESRCH) if (errno != 0 && errno != ENOENT && errno != ESRCH &&
errno != EBADF && errno != EPERM)
{
throwUnixException(env, errno); throwUnixException(env, errno);
}
} else { } else {
uid = p->pw_uid; uid = p->pw_uid;
} }
...@@ -1286,7 +1289,9 @@ Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0(JNIEnv* env, jclass this, ...@@ -1286,7 +1289,9 @@ Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0(JNIEnv* env, jclass this,
retry = 0; retry = 0;
if (res != 0 || g == NULL || g->gr_name == NULL || *(g->gr_name) == '\0') { if (res != 0 || g == NULL || g->gr_name == NULL || *(g->gr_name) == '\0') {
/* not found or error */ /* not found or error */
if (errno != 0 && errno != ENOENT && errno != ESRCH) { if (errno != 0 && errno != ENOENT && errno != ESRCH &&
errno != EBADF && errno != EPERM)
{
if (errno == ERANGE) { if (errno == ERANGE) {
/* insufficient buffer size so need larger buffer */ /* insufficient buffer size so need larger buffer */
buflen += ENT_BUF_SIZE; buflen += ENT_BUF_SIZE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment