From b6114c5492be311cebd01be2694f72ac18d83705 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 17 Jan 2022 15:11:14 -0600 Subject: [PATCH] krb5: Make krb5_data_cmp() be good for sorting The doc comment says it's good for sorting, but it wasn't really. Now it should be. --- lib/krb5/data.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/krb5/data.c b/lib/krb5/data.c index eafc4520b..abfa0531f 100644 --- a/lib/krb5/data.c +++ b/lib/krb5/data.c @@ -200,9 +200,12 @@ krb5_copy_data(krb5_context context, KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_data_cmp(const krb5_data *data1, const krb5_data *data2) { - if (data1->length != data2->length) + size_t len = data1->length < data2->length ? data1->length : data2->length; + int cmp = memcmp(data1->data, data2->data, len); + + if (cmp == 0) return data1->length - data2->length; - return memcmp(data1->data, data2->data, data1->length); + return cmp; } /**