summaryrefslogtreecommitdiff
path: root/source3/libsmb/nterr.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libsmb/nterr.c')
-rw-r--r--source3/libsmb/nterr.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/source3/libsmb/nterr.c b/source3/libsmb/nterr.c
index d88e650c9c..cf443f2339 100644
--- a/source3/libsmb/nterr.c
+++ b/source3/libsmb/nterr.c
@@ -647,8 +647,8 @@ nt_err_code_struct nt_err_desc[] =
const char *nt_errstr(NTSTATUS nt_code)
{
- static pstring msg;
int idx = 0;
+ char *result;
#ifdef HAVE_LDAP
if (NT_STATUS_TYPE(nt_code) == NT_STATUS_TYPE_LDAP) {
@@ -656,8 +656,6 @@ const char *nt_errstr(NTSTATUS nt_code)
}
#endif
- slprintf(msg, sizeof(msg), "NT code 0x%08x", NT_STATUS_V(nt_code));
-
while (nt_errs[idx].nt_errstr != NULL) {
if (NT_STATUS_EQUAL(nt_errs[idx].nt_errcode, nt_code)) {
return nt_errs[idx].nt_errstr;
@@ -665,7 +663,10 @@ const char *nt_errstr(NTSTATUS nt_code)
idx++;
}
- return msg;
+ result = talloc_asprintf(talloc_tos(), "NT code 0x%08x",
+ NT_STATUS_V(nt_code));
+ SMB_ASSERT(result != NULL);
+ return result;
}
/************************************************************************
@@ -694,7 +695,7 @@ const char *get_friendly_nt_error_msg(NTSTATUS nt_code)
const char *get_nt_error_c_code(NTSTATUS nt_code)
{
- static pstring out;
+ char *result;
int idx = 0;
while (nt_errs[idx].nt_errstr != NULL) {
@@ -705,9 +706,10 @@ const char *get_nt_error_c_code(NTSTATUS nt_code)
idx++;
}
- slprintf(out, sizeof(out), "NT_STATUS(0x%08x)", NT_STATUS_V(nt_code));
-
- return out;
+ result = talloc_asprintf(talloc_tos(), "NT_STATUS(0x%08x)",
+ NT_STATUS_V(nt_code));
+ SMB_ASSERT(result);
+ return result;
}
/*****************************************************************************