summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/krb5
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2013-10-02 17:58:06 -0400
committerGreg Hudson <ghudson@mit.edu>2013-10-03 15:26:00 -0400
commit07d68eec2788bfe80686608813f644838707c168 (patch)
tree59c01da03dc85a005b5936ecf836eac4fe71c98b /src/lib/gssapi/krb5
parentac7d07c2cc54e9f07fe81ac4c50bcc80ecc7ac54 (diff)
downloadkrb5-07d68eec2788bfe80686608813f644838707c168.tar.gz
krb5-07d68eec2788bfe80686608813f644838707c168.tar.xz
krb5-07d68eec2788bfe80686608813f644838707c168.zip
Use constant-time comparisons for checksums
Diffstat (limited to 'src/lib/gssapi/krb5')
-rw-r--r--src/lib/gssapi/krb5/k5unseal.c6
-rw-r--r--src/lib/gssapi/krb5/k5unsealiov.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/gssapi/krb5/k5unseal.c b/src/lib/gssapi/krb5/k5unseal.c
index aae74fcd1..ca21d43a9 100644
--- a/src/lib/gssapi/krb5/k5unseal.c
+++ b/src/lib/gssapi/krb5/k5unseal.c
@@ -309,7 +309,7 @@ kg_unseal_v1(context, minor_status, ctx, ptr, bodysize, message_buffer,
cksum.length = 16;
cksum.contents = md5cksum.contents + 16 - cksum.length;
- code = memcmp(cksum.contents, ptr+14, cksum.length);
+ code = k5_bcmp(cksum.contents, ptr + 14, cksum.length);
break;
case SGN_ALG_MD2_5:
@@ -353,7 +353,7 @@ kg_unseal_v1(context, minor_status, ctx, ptr, bodysize, message_buffer,
return(GSS_S_FAILURE);
}
- code = memcmp(md5cksum.contents, ptr+14, 8);
+ code = k5_bcmp(md5cksum.contents, ptr + 14, 8);
/* Falls through to defective-token?? */
default:
@@ -393,7 +393,7 @@ kg_unseal_v1(context, minor_status, ctx, ptr, bodysize, message_buffer,
return(GSS_S_FAILURE);
}
- code = memcmp(md5cksum.contents, ptr+14, cksum_len);
+ code = k5_bcmp(md5cksum.contents, ptr + 14, cksum_len);
break;
}
diff --git a/src/lib/gssapi/krb5/k5unsealiov.c b/src/lib/gssapi/krb5/k5unsealiov.c
index 24853abec..e34bda475 100644
--- a/src/lib/gssapi/krb5/k5unsealiov.c
+++ b/src/lib/gssapi/krb5/k5unsealiov.c
@@ -234,11 +234,11 @@ kg_unseal_v1_iov(krb5_context context,
cksum.length = cksum_len;
cksum.contents = md5cksum.contents + 16 - cksum.length;
- code = memcmp(cksum.contents, ptr + 14, cksum.length);
+ code = k5_bcmp(cksum.contents, ptr + 14, cksum.length);
break;
case SGN_ALG_HMAC_SHA1_DES3_KD:
case SGN_ALG_HMAC_MD5:
- code = memcmp(md5cksum.contents, ptr + 14, cksum_len);
+ code = k5_bcmp(md5cksum.contents, ptr + 14, cksum_len);
break;
default:
code = 0;