From 070b998046de5528bcc6df7f17c443584c2014ac Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Thu, 23 Dec 2021 14:28:12 +0000 Subject: [PATCH] Fixed 1-byte memory over-read introduced in previous commit. sizeof("\0") returns 2 because of the implicit zero byte added at the end of string literals. Instead njs_length() was intended to be used. --- external/njs_fs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/njs_fs.c b/external/njs_fs.c index d0cd4bf9..4333abea 100644 --- a/external/njs_fs.c +++ b/external/njs_fs.c @@ -2153,7 +2153,7 @@ njs_ftw(char *path, njs_file_tree_walk_cb_t cb, int fd_limit, } path[base] = '/'; - memcpy(&path[base + 1], d_name, length + sizeof("\0")); + memcpy(&path[base + 1], d_name, length + njs_length("\0")); if (fd_limit != 0) { ret = njs_ftw(path, cb, fd_limit - 1, flags, &trace); -- 2.47.3