From 5c6f2fc4f63b2812b0305a3f0de9904c5ebd38ef Mon Sep 17 00:00:00 2001 From: Robbie Harwood Date: Mon, 15 Apr 2019 19:56:50 -0400 Subject: [PATCH] Handle gss_import_cred() failure when importing gssx creds Otherwise, we might attempt to set options on a non-existent handle, leading to a segfault. Signed-off-by: Robbie Harwood Reviewed-by: Simo Sorce Merges: #244 (cherry picked from commit 84cf88f6c6cfeb8e3fd2c26ed0fe9fe5bf3810d2) --- proxy/src/gp_export.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/proxy/src/gp_export.c b/proxy/src/gp_export.c index 403e339..7ad8037 100644 --- a/proxy/src/gp_export.c +++ b/proxy/src/gp_export.c @@ -476,6 +476,10 @@ uint32_t gp_import_gssx_cred(uint32_t *min, struct gp_call_ctx *gpcall, } ret_maj = gss_import_cred(&ret_min, &token, out); + if (ret_maj) { + GPDEBUG("gss_import_cred failed when importing gssx cred\n"); + goto done; + } /* check if there is any client option we need to set on credentials */ gp_set_cred_options(cred, *out);