From: Miroslav Lichvar Date: Wed, 21 Feb 2018 10:10:26 +0000 (+0100) Subject: util: replace assert for missing MD5 with fatal log message X-Git-Tag: 3.3-pre1~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4da9f74d24573b56507ea7600c52acc0b0042415;p=thirdparty%2Fchrony.git util: replace assert for missing MD5 with fatal log message Apparently, on some systems the MD5 function is missing with the NSS support (freebl3). Instead of failing an assertion, exit with a log message. --- diff --git a/util.c b/util.c index 95c27c0e..4b3e4558 100644 --- a/util.c +++ b/util.c @@ -366,16 +366,14 @@ UTI_IPToRefid(IPAddr *ip) case IPADDR_INET4: return ip->addr.in4; case IPADDR_INET6: - if (MD5_hash < 0) { + if (MD5_hash < 0) MD5_hash = HSH_GetHashId("MD5"); - assert(MD5_hash >= 0); - } - if (HSH_Hash(MD5_hash, (unsigned const char *)ip->addr.in6, sizeof - (ip->addr.in6), NULL, 0, buf, 16) != 16) { - assert(0); - return 0; - }; + if (MD5_hash < 0 || + HSH_Hash(MD5_hash, (const unsigned char *)ip->addr.in6, sizeof (ip->addr.in6), + NULL, 0, buf, sizeof (buf)) != sizeof (buf)) + LOG_FATAL("Could not get MD5"); + return (uint32_t)buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]; } return 0;