summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-02-07 12:23:55 -0500
committerSimo Sorce <simo@redhat.com>2012-02-07 14:50:49 -0500
commitf7c466d7ea6fb9a1b0a19fc9b44c0fad0e23d33f (patch)
tree1587ae9940cc954a2f81d6c21d9e5964fc56bfa0
parent64333b5f110d557771ef561d16df43349240754d (diff)
downloadgss-proxy-f7c466d7ea6fb9a1b0a19fc9b44c0fad0e23d33f.tar.gz
gss-proxy-f7c466d7ea6fb9a1b0a19fc9b44c0fad0e23d33f.tar.xz
gss-proxy-f7c466d7ea6fb9a1b0a19fc9b44c0fad0e23d33f.zip
gssx_name -> display_name should not be a pointer
-rw-r--r--proxy/rpcgen/gss_proxy.h2
-rw-r--r--proxy/rpcgen/gss_proxy_xdr.c2
-rw-r--r--proxy/src/gp_conv.c25
-rw-r--r--x-files/gss_proxy.x2
4 files changed, 10 insertions, 21 deletions
diff --git a/proxy/rpcgen/gss_proxy.h b/proxy/rpcgen/gss_proxy.h
index 5cb458c..b1f68ef 100644
--- a/proxy/rpcgen/gss_proxy.h
+++ b/proxy/rpcgen/gss_proxy.h
@@ -131,7 +131,7 @@ struct gssx_call_ctx {
typedef struct gssx_call_ctx gssx_call_ctx;
struct gssx_name {
- gssx_buffer *display_name;
+ gssx_buffer display_name;
gssx_OID name_type;
gssx_buffer exported_name;
gssx_buffer exported_composite_name;
diff --git a/proxy/rpcgen/gss_proxy_xdr.c b/proxy/rpcgen/gss_proxy_xdr.c
index 6897766..0c67c7b 100644
--- a/proxy/rpcgen/gss_proxy_xdr.c
+++ b/proxy/rpcgen/gss_proxy_xdr.c
@@ -203,7 +203,7 @@ xdr_gssx_call_ctx (XDR *xdrs, gssx_call_ctx *objp)
bool_t
xdr_gssx_name (XDR *xdrs, gssx_name *objp)
{
- if (!xdr_pointer (xdrs, (char **)&objp->display_name, sizeof (gssx_buffer), (xdrproc_t) xdr_gssx_buffer))
+ if (!xdr_gssx_buffer (xdrs, &objp->display_name))
return FALSE;
if (!xdr_gssx_OID (xdrs, &objp->name_type))
return FALSE;
diff --git a/proxy/src/gp_conv.c b/proxy/src/gp_conv.c
index f93f48e..56516ca 100644
--- a/proxy/src/gp_conv.c
+++ b/proxy/src/gp_conv.c
@@ -307,13 +307,7 @@ int gp_conv_name_to_gssx(gss_name_t in, gssx_name *out)
return -1;
}
- out->display_name = calloc(1, sizeof(gssx_buffer));
- if (!out->display_name) {
- ret = ENOMEM;
- goto done;
- }
-
- ret = gp_conv_buffer_to_gssx(&name_buffer, out->display_name);
+ ret = gp_conv_buffer_to_gssx(&name_buffer, &out->display_name);
if (ret) {
goto done;
}
@@ -340,10 +334,7 @@ done:
gss_release_buffer(&ret_min, &name_buffer);
gss_release_buffer(&ret_min, &exported_name);
if (ret) {
- if (out->display_name) {
- xdr_free((xdrproc_t)xdr_gssx_buffer, (char *)out->display_name);
- free(out->display_name);
- }
+ xdr_free((xdrproc_t)xdr_gssx_buffer, (char *)&out->display_name);
xdr_free((xdrproc_t)xdr_gssx_OID, (char *)&out->name_type);
xdr_free((xdrproc_t)xdr_gssx_buffer, (char *)&out->exported_name);
}
@@ -642,13 +633,11 @@ int gp_copy_gssx_name_alloc(gssx_name *in, gssx_name **out)
return ENOMEM;
}
- if (in->display_name) {
- ret = gp_conv_octet_string_alloc(in->display_name->octet_string_len,
- in->display_name->octet_string_val,
- &o->display_name);
- if (ret) {
- goto done;
- }
+ ret = gp_conv_octet_string(in->display_name.octet_string_len,
+ in->display_name.octet_string_val,
+ &o->display_name);
+ if (ret) {
+ goto done;
}
ret = gp_conv_octet_string(in->name_type.octet_string_len,
in->name_type.octet_string_val,
diff --git a/x-files/gss_proxy.x b/x-files/gss_proxy.x
index 3fb57dd..0d0d7cb 100644
--- a/x-files/gss_proxy.x
+++ b/x-files/gss_proxy.x
@@ -249,7 +249,7 @@ struct gssx_call_ctx {
*/
struct gssx_name {
/* Non-MNs MUST have these; MNs MAY have these */
- gssx_buffer *display_name;
+ gssx_buffer display_name;
gssx_OID name_type;
/* MNs MUST have at least one exported name form */
gssx_buffer exported_name;