avoid type-punned/strict aliasing rules
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17739 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -84,6 +84,7 @@ gss_add_cred(OM_uint32 *minor_status,
|
|||||||
gssapi_mech_interface m;
|
gssapi_mech_interface m;
|
||||||
struct _gss_cred *cred = (struct _gss_cred *) input_cred_handle;
|
struct _gss_cred *cred = (struct _gss_cred *) input_cred_handle;
|
||||||
struct _gss_cred *new_cred;
|
struct _gss_cred *new_cred;
|
||||||
|
gss_cred_id_t release_cred;
|
||||||
struct _gss_mechanism_cred *mc, *target_mc, *copy_mc;
|
struct _gss_mechanism_cred *mc, *target_mc, *copy_mc;
|
||||||
struct _gss_mechanism_name *mn;
|
struct _gss_mechanism_name *mn;
|
||||||
OM_uint32 junk;
|
OM_uint32 junk;
|
||||||
@@ -113,7 +114,8 @@ gss_add_cred(OM_uint32 *minor_status,
|
|||||||
}
|
}
|
||||||
copy_mc = _gss_copy_cred(mc);
|
copy_mc = _gss_copy_cred(mc);
|
||||||
if (!copy_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;
|
*minor_status = ENOMEM;
|
||||||
return (GSS_S_FAILURE);
|
return (GSS_S_FAILURE);
|
||||||
}
|
}
|
||||||
@@ -139,7 +141,8 @@ gss_add_cred(OM_uint32 *minor_status,
|
|||||||
|
|
||||||
mc = malloc(sizeof(struct _gss_mechanism_cred));
|
mc = malloc(sizeof(struct _gss_mechanism_cred));
|
||||||
if (!mc) {
|
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;
|
*minor_status = ENOMEM;
|
||||||
return (GSS_S_FAILURE);
|
return (GSS_S_FAILURE);
|
||||||
}
|
}
|
||||||
@@ -159,7 +162,8 @@ gss_add_cred(OM_uint32 *minor_status,
|
|||||||
acceptor_time_rec);
|
acceptor_time_rec);
|
||||||
|
|
||||||
if (major_status) {
|
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);
|
free(mc);
|
||||||
return (major_status);
|
return (major_status);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user