diff --git a/src/basic/hexdecoct.c b/src/basic/hexdecoct.c index 0922a49bb1..b9de5bfcda 100644 --- a/src/basic/hexdecoct.c +++ b/src/basic/hexdecoct.c @@ -606,7 +606,7 @@ ssize_t base64mem_full( if (!r) return -ENOMEM; - for (x = p; x < (const uint8_t*) p + (l / 3) * 3; x += 3) { + for (x = p; x && x < (const uint8_t*) p + (l / 3) * 3; x += 3) { /* x[0] == XXXXXXXX; x[1] == YYYYYYYY; x[2] == ZZZZZZZZ */ maybe_line_break(&z, r, line_break); *(z++) = base64char(x[0] >> 2); /* 00XXXXXX */ diff --git a/test/fuzz/fuzz-resource-record/oss-fuzz-54065 b/test/fuzz/fuzz-resource-record/oss-fuzz-54065 new file mode 100644 index 0000000000..943945213f Binary files /dev/null and b/test/fuzz/fuzz-resource-record/oss-fuzz-54065 differ