aboutsummaryrefslogtreecommitdiff
path: root/src/lib/krb5/krb/rd_safe.c
diff options
context:
space:
mode:
authorJohn Kohl <jtkohl@mit.edu>1990-05-09 17:12:11 +0000
committerJohn Kohl <jtkohl@mit.edu>1990-05-09 17:12:11 +0000
commit021d31446fe0c7b5a77527126112a3c36d33cdf4 (patch)
treee9b9fd9bd6e933c5f30f002807c750dd35ef3a9a /src/lib/krb5/krb/rd_safe.c
parentee96d082bd52f21c490312333506ffe4d8bd8c79 (diff)
downloadkrb5-021d31446fe0c7b5a77527126112a3c36d33cdf4.zip
krb5-021d31446fe0c7b5a77527126112a3c36d33cdf4.tar.gz
krb5-021d31446fe0c7b5a77527126112a3c36d33cdf4.tar.bz2
changes for new checksum interface
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@816 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/rd_safe.c')
-rw-r--r--src/lib/krb5/krb/rd_safe.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/rd_safe.c b/src/lib/krb5/krb/rd_safe.c
index f41648e..c03a272 100644
--- a/src/lib/krb5/krb/rd_safe.c
+++ b/src/lib/krb5/krb/rd_safe.c
@@ -18,6 +18,7 @@ static char rcsid_rd_safe_c[] =
#include <krb5/copyright.h>
#include <krb5/krb5.h>
#include <krb5/krb5_err.h>
+#include <errno.h>
#include <krb5/asn1.h>
#include <stdio.h>
@@ -110,12 +111,21 @@ krb5_data *outbuf;
cleanup();
return retval;
}
+ message->checksum = his_cksum;
+ if (!(our_cksum.contents = (krb5_octet *)
+ malloc(krb5_cksumarray[his_cksum->checksum_type]->checksum_length))) {
+ cleanup();
+ return ENOMEM;
+ }
+
+#undef cleanup
+#define cleanup() {krb5_free_safe(message); xfree(our_cksum.contents);}
+
retval = (*(krb5_cksumarray[his_cksum->checksum_type]->
sum_func))(scratch->data,
- 0, /* XXX? */
- (krb5_pointer) key->contents,
scratch->length,
+ (krb5_pointer) key->contents,
key->length,
&our_cksum);
(void) bzero((char *)scratch->data, scratch->length);
@@ -126,8 +136,6 @@ krb5_data *outbuf;
return retval;
}
-#undef cleanup
-#define cleanup() {krb5_free_safe(message); xfree(our_cksum.contents);}
if (our_cksum.length != his_cksum->length ||
bcmp((char *)our_cksum.contents, (char *)his_cksum->contents,