summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-08-09 11:49:14 -0400
committerSimo Sorce <simo@redhat.com>2014-08-10 14:29:37 -0400
commit66a06abe4a687170882888bf52750abd3ce5afbf (patch)
treef2b0a49e27a458e8b675655d11d36f94af4b104d
parent85c6588f364228343fe74f20b4667e8c063e5845 (diff)
downloadgss-ntlmssp-66a06abe4a687170882888bf52750abd3ce5afbf.tar.gz
gss-ntlmssp-66a06abe4a687170882888bf52750abd3ce5afbf.tar.xz
gss-ntlmssp-66a06abe4a687170882888bf52750abd3ce5afbf.zip
We can handle only mech status codes
Return an error if status_type is bogus. We can't call gss_display_status() for GSS_C_GSS_CODE because we'd loop back to ourselves as unfortunately the GSSAPI mechanisms SPI uses the same symbol names as the public API ...
-rw-r--r--src/gss_err.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gss_err.c b/src/gss_err.c
index dd43a49..712203d 100644
--- a/src/gss_err.c
+++ b/src/gss_err.c
@@ -27,7 +27,13 @@ uint32_t gssntlm_display_status(uint32_t *minor_status,
return GSS_S_CALL_INACCESSIBLE_READ;
}
+ if (status_type != GSS_C_MECH_CODE) {
+ *minor_status = EINVAL;
+ return GSS_S_BAD_STATUS;
+ }
+
*minor_status = 0;
+ *message_context = 0;
status_string->length = 0;
status_string->value = NULL;