Catch more error.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17944 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -290,6 +290,11 @@ digest_request(krb5_context context,
|
|||||||
ret = krb5_auth_con_getlocalsubkey(context, ac, &key);
|
ret = krb5_auth_con_getlocalsubkey(context, ac, &key);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
goto out;
|
||||||
|
if (key == NULL) {
|
||||||
|
krb5_set_error_string(context, "Digest failed to get local subkey");
|
||||||
|
ret = EINVAL;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
ret = krb5_crypto_init(context, key, 0, &crypto);
|
ret = krb5_crypto_init(context, key, 0, &crypto);
|
||||||
krb5_free_keyblock (context, key);
|
krb5_free_keyblock (context, key);
|
||||||
@@ -307,8 +312,10 @@ digest_request(krb5_context context,
|
|||||||
|
|
||||||
ASN1_MALLOC_ENCODE(DigestREQ, data.data, data.length,
|
ASN1_MALLOC_ENCODE(DigestREQ, data.data, data.length,
|
||||||
&req, &size, ret);
|
&req, &size, ret);
|
||||||
if (ret)
|
if (ret) {
|
||||||
return ret;
|
krb5_set_error_string(context, "Failed to encode DigestREQest");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
if (size != data.length)
|
if (size != data.length)
|
||||||
krb5_abortx(context, "ASN.1 internal encoder error");
|
krb5_abortx(context, "ASN.1 internal encoder error");
|
||||||
|
|
||||||
@@ -360,8 +367,10 @@ digest_request(krb5_context context,
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
ret = decode_DigestRepInner(data.data, data.length, irep, NULL);
|
ret = decode_DigestRepInner(data.data, data.length, irep, NULL);
|
||||||
if (ret)
|
if (ret) {
|
||||||
|
krb5_set_error_string(context, "Failed to decode digest inner reply");
|
||||||
goto out;
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (ccache == NULL)
|
if (ccache == NULL)
|
||||||
|
Reference in New Issue
Block a user