changing error code when path is too long

This commit is contained in:
Olga Kornievskaia 2012-04-26 11:06:31 -04:00
parent 7f338d871b
commit 57baa75f04
4 changed files with 4 additions and 3 deletions

View file

@ -47,7 +47,7 @@ static int create_open_state(
InitializeSRWLock(&state->path.lock); InitializeSRWLock(&state->path.lock);
if (FAILED(StringCchCopyA(state->path.path, NFS41_MAX_PATH_LEN, path))) { if (FAILED(StringCchCopyA(state->path.path, NFS41_MAX_PATH_LEN, path))) {
status = ERROR_BUFFER_OVERFLOW; status = ERROR_FILENAME_EXCED_RANGE;
goto out_free; goto out_free;
} }
state->path.len = (unsigned short)strlen(state->path.path); state->path.len = (unsigned short)strlen(state->path.path);

View file

@ -216,7 +216,7 @@ static int format_abs_path(
abs_path_copy(path_out, path); abs_path_copy(path_out, path);
if (FAILED(StringCchPrintfA(path_out->path + path_out->len, if (FAILED(StringCchPrintfA(path_out->path + path_out->len,
NFS41_MAX_PATH_LEN - path_out->len, "\\%s", name->name))) { NFS41_MAX_PATH_LEN - path_out->len, "\\%s", name->name))) {
status = ERROR_BUFFER_OVERFLOW; status = ERROR_FILENAME_EXCED_RANGE;
goto out; goto out;
} }
path_out->len += name->len + 1; path_out->len += name->len + 1;

View file

@ -382,7 +382,7 @@ int create_silly_rename(
int status = NO_ERROR, i; int status = NO_ERROR, i;
if (path->len + extra_len >= NFS41_MAX_PATH_LEN) { if (path->len + extra_len >= NFS41_MAX_PATH_LEN) {
status = ERROR_BUFFER_OVERFLOW; status = ERROR_FILENAME_EXCED_RANGE;
goto out; goto out;
} }

View file

@ -4036,6 +4036,7 @@ NTSTATUS map_querydir_errors(
case ERROR_INVALID_PARAMETER: return STATUS_INVALID_PARAMETER; case ERROR_INVALID_PARAMETER: return STATUS_INVALID_PARAMETER;
case ERROR_NO_MORE_FILES: return STATUS_NO_MORE_FILES; case ERROR_NO_MORE_FILES: return STATUS_NO_MORE_FILES;
case ERROR_OUTOFMEMORY: return STATUS_INSUFFICIENT_RESOURCES; case ERROR_OUTOFMEMORY: return STATUS_INSUFFICIENT_RESOURCES;
case ERROR_FILENAME_EXCED_RANGE: return STATUS_NAME_TOO_LONG;
default: default:
print_error("failed to map windows error %d to NTSTATUS; " print_error("failed to map windows error %d to NTSTATUS; "
"defaulting to STATUS_INVALID_NETWORK_RESPONSE\n", status); "defaulting to STATUS_INVALID_NETWORK_RESPONSE\n", status);