summaryrefslogtreecommitdiffstats
path: root/proxy/src/gp_conv.c
diff options
context:
space:
mode:
Diffstat (limited to 'proxy/src/gp_conv.c')
-rw-r--r--proxy/src/gp_conv.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/proxy/src/gp_conv.c b/proxy/src/gp_conv.c
index 0d4d276..573eb27 100644
--- a/proxy/src/gp_conv.c
+++ b/proxy/src/gp_conv.c
@@ -237,7 +237,7 @@ int gp_conv_err_to_gssx_string(uint32_t status, int type, gss_OID oid,
if (str) {
ret = asprintf(&t, "%s, %s", str, (char *)gssbuf.value);
if (ret == -1) {
- ret_maj = ENOMEM;
+ ret = ENOMEM;
} else {
free(str);
str = t;
@@ -245,22 +245,26 @@ int gp_conv_err_to_gssx_string(uint32_t status, int type, gss_OID oid,
} else {
str = strdup((char *)gssbuf.value);
if (!str) {
- ret_maj = ENOMEM;
+ ret = ENOMEM;
}
}
gss_release_buffer(&ret_min, &gssbuf);
}
if (ret_maj) {
+ ret = EINVAL;
goto done;
}
} while (msg_ctx);
ret_str->utf8string_len = strlen(str + 1);
ret_str->utf8string_val = str;
+ ret = 0;
done:
- free(str);
- return ret_maj;
+ if (ret) {
+ free(str);
+ }
+ return ret;
}
int gp_conv_name_to_gssx(gss_name_t in, gssx_name *out)