summaryrefslogtreecommitdiffstats
path: root/proxy/src
diff options
context:
space:
mode:
Diffstat (limited to 'proxy/src')
-rw-r--r--proxy/src/client/gpm_get_mic.c7
-rw-r--r--proxy/src/client/gpm_verify_mic.c14
-rw-r--r--proxy/src/gp_rpc_get_mic.c7
3 files changed, 24 insertions, 4 deletions
diff --git a/proxy/src/client/gpm_get_mic.c b/proxy/src/client/gpm_get_mic.c
index 9c0d4f8..36d819a 100644
--- a/proxy/src/client/gpm_get_mic.c
+++ b/proxy/src/client/gpm_get_mic.c
@@ -52,7 +52,12 @@ OM_uint32 gpm_get_mic(OM_uint32 *minor_status,
/* NOTE: the final free will also release the old context */
arg->context_handle = *context_handle;
arg->qop_req = qop_req;
- gp_conv_buffer_to_gssx(message_buffer, &arg->message_buffer);
+ ret = gp_conv_buffer_to_gssx(message_buffer, &arg->message_buffer);
+ if (ret) {
+ ret_maj = GSS_S_FAILURE;
+ ret_min = ret;
+ goto done;
+ }
/* execute proxy request */
ret = gpm_make_call(GSSX_GET_MIC, &uarg, &ures);
diff --git a/proxy/src/client/gpm_verify_mic.c b/proxy/src/client/gpm_verify_mic.c
index 4ce6227..57c71ab 100644
--- a/proxy/src/client/gpm_verify_mic.c
+++ b/proxy/src/client/gpm_verify_mic.c
@@ -51,8 +51,18 @@ OM_uint32 gpm_verify_mic(OM_uint32 *minor_status,
/* format request */
/* NOTE: the final free will also release the old context */
arg->context_handle = *context_handle;
- gp_conv_buffer_to_gssx(message_buffer, &arg->message_buffer);
- gp_conv_buffer_to_gssx(message_token, &arg->token_buffer);
+ ret = gp_conv_buffer_to_gssx(message_buffer, &arg->message_buffer);
+ if (ret) {
+ ret_maj = GSS_S_FAILURE;
+ ret_min = ret;
+ goto done;
+ }
+ ret = gp_conv_buffer_to_gssx(message_token, &arg->token_buffer);
+ if (ret) {
+ ret_maj = GSS_S_FAILURE;
+ ret_min = ret;
+ goto done;
+ }
/* execute proxy request */
ret = gpm_make_call(GSSX_VERIFY, &uarg, &ures);
diff --git a/proxy/src/gp_rpc_get_mic.c b/proxy/src/gp_rpc_get_mic.c
index ca352ab..9f37731 100644
--- a/proxy/src/gp_rpc_get_mic.c
+++ b/proxy/src/gp_rpc_get_mic.c
@@ -91,7 +91,12 @@ int gp_get_mic(struct gssproxy_ctx *gpctx,
/* what is the point of returning an input parameter ? - gd */
*gmr->qop_state = gma->qop_req;
- gp_conv_buffer_to_gssx(&message_token, &gmr->token_buffer);
+ ret = gp_conv_buffer_to_gssx(&message_token, &gmr->token_buffer);
+ if (ret) {
+ ret_maj = GSS_S_FAILURE;
+ ret_min = ret;
+ goto done;
+ }
ret_maj = GSS_S_COMPLETE;
ret_min = 0;