From: Andrew Tridgell Date: Tue, 30 Dec 2025 05:21:41 +0000 (+1100) Subject: fix uninitialized buf1 in get_checksum2() MD4 path X-Git-Tag: v3.4.2~23 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=c98f9d1f68288fdd4dd6e07bfc4cc750b31f4333;p=thirdparty%2Frsync.git fix uninitialized buf1 in get_checksum2() MD4 path The static buf1 pointer was only allocated when len > len1, but on first call with len == 0, this condition is false (0 > 0), leaving buf1 NULL when passed to memcpy(). Fixes #673 --- diff --git a/checksum.c b/checksum.c index 66e80896..6f0f95ab 100644 --- a/checksum.c +++ b/checksum.c @@ -366,9 +366,8 @@ void get_checksum2(char *buf, int32 len, char *sum) mdfour_begin(&m); - if (len > len1) { - if (buf1) - free(buf1); + if (len > len1 || !buf1) { + free(buf1); buf1 = new_array(char, len+4); len1 = len; }