From 8eef97288b9f9643a197e68f0fc72cae4a81194d Mon Sep 17 00:00:00 2001 From: Nicolas Favre-Felix Date: Wed, 9 Aug 2023 08:58:46 -0700 Subject: [PATCH] Fix UB warning in md5.c Was: pointer subtraction with a null pointer --- src/md5/md5.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/md5/md5.c b/src/md5/md5.c index c35d96c..d4b1113 100644 --- a/src/md5/md5.c +++ b/src/md5/md5.c @@ -53,6 +53,7 @@ #include "md5.h" #include +#include #undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */ #ifdef ARCH_IS_BIG_ENDIAN @@ -161,7 +162,7 @@ md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/) * On little-endian machines, we can process properly aligned * data without copying it. */ - if (!((data - (const md5_byte_t *)0) & 3)) { + if (!((uintptr_t)data & (4 - 1))) { /* data are properly aligned */ X = (const md5_word_t *)data; } else {