From 11ca443aafc39ebc61c24f19577655e0ffcaa189 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Fri, 23 Oct 2020 09:26:11 +0200 Subject: [PATCH] Fixed NtStatus2Tag return. --- winpr/libwinpr/nt/ntstatus.c | 6 +++++- winpr/libwinpr/sspi/sspi.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/winpr/libwinpr/nt/ntstatus.c b/winpr/libwinpr/nt/ntstatus.c index 40cd634ad..bac8547e9 100644 --- a/winpr/libwinpr/nt/ntstatus.c +++ b/winpr/libwinpr/nt/ntstatus.c @@ -1844,7 +1844,11 @@ const char* NtStatus2Tag(DWORD ntstatus) #if 1 /* Requires sorted struct */ size_t count = ARRAYSIZE(ntstatusmap); size_t base = sizeof(ntstatusmap[0]); - return bsearch(&ntstatus, ntstatusmap, count, base, ntstatus_compare); + const struct ntstatus_map* found = + bsearch(&ntstatus, ntstatusmap, count, base, ntstatus_compare); + if (!found) + return NULL; + return found->tag; #else size_t x; for (x = 0; x < ARRAYSIZE(ntstatusmap); x++) diff --git a/winpr/libwinpr/sspi/sspi.c b/winpr/libwinpr/sspi/sspi.c index 54f472b8c..ad47175a3 100644 --- a/winpr/libwinpr/sspi/sspi.c +++ b/winpr/libwinpr/sspi/sspi.c @@ -409,7 +409,7 @@ const char* GetSecurityStatusString(SECURITY_STATUS status) return "SEC_I_NO_RENEGOTIATION"; } - return "SEC_E_UNKNOWN"; + return NtStatus2Tag(status); } BOOL IsSecurityStatusError(SECURITY_STATUS status)