From dae9377cfa0eecae9a915a69846c02c3568eb98b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Thu, 29 Jun 2006 08:23:53 +0000 Subject: [PATCH] avoid type-punned/strict aliasing rules git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17739 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/gssapi/mech/gss_add_cred.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/gssapi/mech/gss_add_cred.c b/lib/gssapi/mech/gss_add_cred.c index 9eb9a097a..a381a98c4 100644 --- a/lib/gssapi/mech/gss_add_cred.c +++ b/lib/gssapi/mech/gss_add_cred.c @@ -84,6 +84,7 @@ gss_add_cred(OM_uint32 *minor_status, gssapi_mech_interface m; struct _gss_cred *cred = (struct _gss_cred *) input_cred_handle; struct _gss_cred *new_cred; + gss_cred_id_t release_cred; struct _gss_mechanism_cred *mc, *target_mc, *copy_mc; struct _gss_mechanism_name *mn; OM_uint32 junk; @@ -113,7 +114,8 @@ gss_add_cred(OM_uint32 *minor_status, } copy_mc = _gss_copy_cred(mc); if (!copy_mc) { - gss_release_cred(&junk, (gss_cred_id_t*) &new_cred); + release_cred = (gss_cred_id_t)new_cred; + gss_release_cred(&junk, &release_cred); *minor_status = ENOMEM; return (GSS_S_FAILURE); } @@ -139,7 +141,8 @@ gss_add_cred(OM_uint32 *minor_status, mc = malloc(sizeof(struct _gss_mechanism_cred)); if (!mc) { - gss_release_cred(&junk, (gss_cred_id_t*) &new_cred); + release_cred = (gss_cred_id_t)new_cred; + gss_release_cred(&junk, &release_cred); *minor_status = ENOMEM; return (GSS_S_FAILURE); } @@ -159,7 +162,8 @@ gss_add_cred(OM_uint32 *minor_status, acceptor_time_rec); if (major_status) { - gss_release_cred(&junk, (gss_cred_id_t*) &new_cred); + release_cred = (gss_cred_id_t)new_cred; + gss_release_cred(&junk, &release_cred); free(mc); return (major_status); }