diff options
author | Simo Sorce <simo@redhat.com> | 2013-07-27 15:37:05 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2013-07-28 13:17:51 -0400 |
commit | 388b2da434eb7c609bb587026ac9f0748c2fc156 (patch) | |
tree | 625bdec9599a155592d706fa238f527c8d9096eb /src/gss_names.c | |
parent | e52754a84ad9320378d88e79be8d7ba139b30595 (diff) | |
download | gss-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.c | 22 |
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; |