Reset out variables.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19954 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -56,6 +56,7 @@ OM_uint32 gss_duplicate_oid (
|
|||||||
(*dest_oid)->elements = malloc(src_oid->length);
|
(*dest_oid)->elements = malloc(src_oid->length);
|
||||||
if ((*dest_oid)->elements == NULL) {
|
if ((*dest_oid)->elements == NULL) {
|
||||||
free(*dest_oid);
|
free(*dest_oid);
|
||||||
|
*dest_oid = GSS_C_NO_OID;
|
||||||
*minor_status = ENOMEM;
|
*minor_status = ENOMEM;
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
}
|
}
|
||||||
|
@@ -45,8 +45,7 @@ gss_encapsulate_token(gss_buffer_t input_token,
|
|||||||
|
|
||||||
ret = der_get_oid (oid->elements, oid->length, &ct.thisMech, &size);
|
ret = der_get_oid (oid->elements, oid->length, &ct.thisMech, &size);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
output_token->value = NULL;
|
_mg_buffer_zero(output_token);
|
||||||
output_token->length = 0;
|
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,8 +57,7 @@ gss_encapsulate_token(gss_buffer_t input_token,
|
|||||||
&ct, &size, ret);
|
&ct, &size, ret);
|
||||||
der_free_oid(&ct.thisMech);
|
der_free_oid(&ct.thisMech);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
output_token->length = 0;
|
_mg_buffer_zero(output_token);
|
||||||
output_token->value = NULL;
|
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
}
|
}
|
||||||
if (output_token->length != size)
|
if (output_token->length != size)
|
||||||
|
@@ -37,8 +37,7 @@ gss_export_name(OM_uint32 *minor_status,
|
|||||||
struct _gss_name *name = (struct _gss_name *) input_name;
|
struct _gss_name *name = (struct _gss_name *) input_name;
|
||||||
struct _gss_mechanism_name *mn;
|
struct _gss_mechanism_name *mn;
|
||||||
|
|
||||||
exported_name->value = NULL;
|
_mg_buffer_zero(exported_name);
|
||||||
exported_name->length = 0;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If this name already has any attached MNs, export the first
|
* If this name already has any attached MNs, export the first
|
||||||
|
@@ -39,6 +39,8 @@ gss_export_sec_context(OM_uint32 *minor_status,
|
|||||||
gssapi_mech_interface m = ctx->gc_mech;
|
gssapi_mech_interface m = ctx->gc_mech;
|
||||||
gss_buffer_desc buf;
|
gss_buffer_desc buf;
|
||||||
|
|
||||||
|
_mg_buffer_zero(interprocess_token);
|
||||||
|
|
||||||
major_status = m->gm_export_sec_context(minor_status,
|
major_status = m->gm_export_sec_context(minor_status,
|
||||||
&ctx->gc_ctx, &buf);
|
&ctx->gc_ctx, &buf);
|
||||||
|
|
||||||
@@ -58,6 +60,7 @@ gss_export_sec_context(OM_uint32 *minor_status,
|
|||||||
* GSS_C_NO_CONTEXT, which we did above.
|
* GSS_C_NO_CONTEXT, which we did above.
|
||||||
* Return GSS_S_FAILURE.
|
* Return GSS_S_FAILURE.
|
||||||
*/
|
*/
|
||||||
|
_mg_buffer_zero(interprocess_token);
|
||||||
*minor_status = ENOMEM;
|
*minor_status = ENOMEM;
|
||||||
return (GSS_S_FAILURE);
|
return (GSS_S_FAILURE);
|
||||||
}
|
}
|
||||||
|
@@ -39,6 +39,12 @@ gss_get_mic(OM_uint32 *minor_status,
|
|||||||
struct _gss_context *ctx = (struct _gss_context *) context_handle;
|
struct _gss_context *ctx = (struct _gss_context *) context_handle;
|
||||||
gssapi_mech_interface m = ctx->gc_mech;
|
gssapi_mech_interface m = ctx->gc_mech;
|
||||||
|
|
||||||
|
_mg_buffer_zero(message_token);
|
||||||
|
if (ctx == NULL) {
|
||||||
|
*minor_status = 0;
|
||||||
|
return GSS_S_NO_CONTEXT;
|
||||||
|
}
|
||||||
|
|
||||||
return (m->gm_get_mic(minor_status, ctx->gc_ctx, qop_req,
|
return (m->gm_get_mic(minor_status, ctx->gc_ctx, qop_req,
|
||||||
message_buffer, message_token));
|
message_buffer, message_token));
|
||||||
}
|
}
|
||||||
|
@@ -149,9 +149,10 @@ gss_import_name(OM_uint32 *minor_status,
|
|||||||
OM_uint32 major_status;
|
OM_uint32 major_status;
|
||||||
struct _gss_name *name;
|
struct _gss_name *name;
|
||||||
|
|
||||||
|
*output_name = GSS_C_NO_NAME;
|
||||||
|
|
||||||
if (input_name_buffer->length == 0) {
|
if (input_name_buffer->length == 0) {
|
||||||
*minor_status = 0;
|
*minor_status = 0;
|
||||||
*output_name = 0;
|
|
||||||
return (GSS_S_BAD_NAME);
|
return (GSS_S_BAD_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +185,6 @@ gss_import_name(OM_uint32 *minor_status,
|
|||||||
&& !gss_oid_equal(name_type, GSS_C_NT_ANONYMOUS)
|
&& !gss_oid_equal(name_type, GSS_C_NT_ANONYMOUS)
|
||||||
&& !gss_oid_equal(name_type, GSS_KRB5_NT_PRINCIPAL_NAME)) {
|
&& !gss_oid_equal(name_type, GSS_KRB5_NT_PRINCIPAL_NAME)) {
|
||||||
*minor_status = 0;
|
*minor_status = 0;
|
||||||
*output_name = 0;
|
|
||||||
return (GSS_S_BAD_NAMETYPE);
|
return (GSS_S_BAD_NAMETYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user