diff options
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/clierror.c | 2 | ||||
-rw-r--r-- | source3/libsmb/nterr.c | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/source3/libsmb/clierror.c b/source3/libsmb/clierror.c index e09064bf0f..78a7c9d451 100644 --- a/source3/libsmb/clierror.c +++ b/source3/libsmb/clierror.c @@ -163,7 +163,7 @@ int cli_error(struct cli_state *cli, uint8 *eclass, uint32 *num, uint32 *nt_rpc_ DEBUG(10,("cli_error: 32 bit codes: code=%08x\n", nt_err)); if (!IS_BITS_SET_ALL(nt_err, 0xc0000000)) return 0; - switch (nt_err & 0xFFFFFF) { + switch (nt_err) { case NT_STATUS_ACCESS_VIOLATION: return EACCES; case NT_STATUS_NO_SUCH_FILE: return ENOENT; case NT_STATUS_NO_SUCH_DEVICE: return ENODEV; diff --git a/source3/libsmb/nterr.c b/source3/libsmb/nterr.c index ef3fb4b8ba..3f19a66941 100644 --- a/source3/libsmb/nterr.c +++ b/source3/libsmb/nterr.c @@ -526,11 +526,9 @@ char *get_nt_error_msg(uint32 nt_code) pstrcpy(msg, "Unknown NT error"); - nt_code &= 0xFFFF; - while (nt_errs[idx].nt_errstr != NULL) { - if (nt_errs[idx].nt_errcode == nt_code) + if ((nt_errs[idx].nt_errcode & 0xFFFFFF) == (nt_code & 0xFFFFFF)) { pstrcpy(msg, nt_errs[idx].nt_errstr); return msg; |