summaryrefslogtreecommitdiffstats
path: root/src/gss_names.c
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2013-07-27 15:37:05 -0400
committerSimo Sorce <simo@redhat.com>2013-07-28 13:17:51 -0400
commit388b2da434eb7c609bb587026ac9f0748c2fc156 (patch)
tree625bdec9599a155592d706fa238f527c8d9096eb /src/gss_names.c
parente52754a84ad9320378d88e79be8d7ba139b30595 (diff)
downloadgss-ntlmssp-388b2da434eb7c609bb587026ac9f0748c2fc156.tar.gz
gss-ntlmssp-388b2da434eb7c609bb587026ac9f0748c2fc156.tar.xz
gss-ntlmssp-388b2da434eb7c609bb587026ac9f0748c2fc156.zip
Internal release name
Diffstat (limited to 'src/gss_names.c')
-rw-r--r--src/gss_names.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/gss_names.c b/src/gss_names.c
index 5cd5737..7c84ad6 100644
--- a/src/gss_names.c
+++ b/src/gss_names.c
@@ -238,25 +238,29 @@ uint32_t gssntlm_import_name(uint32_t *minor_status,
output_name);
}
-uint32_t gssntlm_release_name(uint32_t *minor_status,
- gss_name_t *input_name)
+void gssntlm_int_release_name(struct gssntlm_name *name)
{
- struct gssntlm_name *name;
-
- if (!input_name) return GSS_S_CALL_INACCESSIBLE_READ;
+ if (!name) return;
- name = (struct gssntlm_name *)*input_name;
switch (name->type) {
case GSSNTLM_NAME_ANON:
break;
case GSSNTLM_NAME_USER:
- free(name->data.user.domain);
- free(name->data.user.name);
+ safefree(name->data.user.domain);
+ safefree(name->data.user.name);
break;
case GSSNTLM_NAME_SERVER:
- free(name->data.server.name);
+ safefree(name->data.server.name);
break;
}
+}
+
+uint32_t gssntlm_release_name(uint32_t *minor_status,
+ gss_name_t *input_name)
+{
+ if (!input_name) return GSS_S_CALL_INACCESSIBLE_READ;
+
+ gssntlm_int_release_name((struct gssntlm_name *)*input_name);
*input_name = GSS_C_NO_NAME;
return GSS_S_COMPLETE;