From 68d93ba41630c2f61b90abf83b527cb7cd22fc5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 25 Jul 2005 21:03:26 +0000 Subject: [PATCH] (heim_bit_string_cmp): try handle corner cases better git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15743 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/asn1/der_cmp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/asn1/der_cmp.c b/lib/asn1/der_cmp.c index 0a9c4ea76..306fcbdf5 100644 --- a/lib/asn1/der_cmp.c +++ b/lib/asn1/der_cmp.c @@ -60,10 +60,12 @@ heim_bit_string_cmp(const heim_bit_string *p, const heim_bit_string *q) i = memcmp(p->data, q->data, p->length / 8); if (i) return i; - i = p->length / 8; + if ((p->length % 8) == 0) + return 0; + i = (p->length / 8); r1 = ((unsigned char *)p->data)[i]; r2 = ((unsigned char *)q->data)[i]; - i = 8 - p->length % 8; + i = 8 - (p->length % 8); r1 = r1 >> i; r2 = r2 >> i; return r1 - r2;