From db4d3ea25558a26f560615d1df3d12d5286e036d Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 29 May 2008 15:16:45 +0300 Subject: [PATCH] Make rpmfiCompare() use rpmfiDigest() instead of rpmfiMD5() --- lib/rpmfi.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/rpmfi.c b/lib/rpmfi.c index 5ff7b55..f71391f 100644 --- a/lib/rpmfi.c +++ b/lib/rpmfi.c @@ -471,12 +471,16 @@ int rpmfiCompare(const rpmfi afi, const rpmfi bfi) if (blink == NULL) return -1; return strcmp(alink, blink); } else if (awhat == REG) { - const unsigned char * adigest = rpmfiMD5(afi); - const unsigned char * bdigest = rpmfiMD5(bfi); + size_t adiglen, bdiglen; + pgpHashAlgo aalgo, balgo; + const unsigned char * adigest = rpmfiDigest(afi, &aalgo, &adiglen); + const unsigned char * bdigest = rpmfiDigest(bfi, &balgo, &bdiglen); if (adigest == bdigest) return 0; if (adigest == NULL) return 1; if (bdigest == NULL) return -1; - return memcmp(adigest, bdigest, 16); + /* can't meaningfully compare different hash types */ + if (aalgo != balgo || adiglen != bdiglen) return -1; + return memcmp(adigest, bdigest, adiglen); } return 0; -- 2.7.4