summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/clierror.c2
-rw-r--r--source3/libsmb/nterr.c4
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;