Use right variable with comparing lengths. Patch orignally from Jaideep Padhye
This commit is contained in:
@@ -413,10 +413,6 @@ acceptor_complete(OM_uint32 * minor_status,
|
|||||||
{
|
{
|
||||||
OM_uint32 ret;
|
OM_uint32 ret;
|
||||||
int require_mic, verify_mic;
|
int require_mic, verify_mic;
|
||||||
gss_buffer_desc buf;
|
|
||||||
|
|
||||||
buf.length = 0;
|
|
||||||
buf.value = NULL;
|
|
||||||
|
|
||||||
ret = _gss_spnego_require_mechlist_mic(minor_status, ctx, &require_mic);
|
ret = _gss_spnego_require_mechlist_mic(minor_status, ctx, &require_mic);
|
||||||
if (ret)
|
if (ret)
|
||||||
@@ -450,26 +446,19 @@ acceptor_complete(OM_uint32 * minor_status,
|
|||||||
*minor_status = eret;
|
*minor_status = eret;
|
||||||
return GSS_S_FAILURE;
|
return GSS_S_FAILURE;
|
||||||
}
|
}
|
||||||
if (buf.length != buf_len) {
|
heim_assert(mech_buf->length == buf_len, "Internal ASN.1 error");
|
||||||
abort();
|
|
||||||
UNREACHABLE(return GSS_S_FAILURE);
|
UNREACHABLE(return GSS_S_FAILURE);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (verify_mic) {
|
if (verify_mic) {
|
||||||
ret = verify_mechlist_mic(minor_status, ctx, mech_buf, mic);
|
ret = verify_mechlist_mic(minor_status, ctx, mech_buf, mic);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
if (*get_mic)
|
if (*get_mic)
|
||||||
send_reject (minor_status, output_token);
|
send_reject (minor_status, output_token);
|
||||||
if (buf.value)
|
|
||||||
free(buf.value);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
ctx->verified_mic = 1;
|
ctx->verified_mic = 1;
|
||||||
}
|
}
|
||||||
if (buf.value)
|
|
||||||
free(buf.value);
|
|
||||||
|
|
||||||
} else
|
} else
|
||||||
*get_mic = 0;
|
*get_mic = 0;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user