From 49709e76b980a9531fe829515daac5c5a473b528 Mon Sep 17 00:00:00 2001 From: ritt Date: Tue, 15 Feb 2022 18:00:28 +0100 Subject: [PATCH] Fix read-beyond-buffer --- src/elogd.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/elogd.cxx b/src/elogd.cxx index 9d0b1aeb..9e0c8e20 100755 --- a/src/elogd.cxx +++ b/src/elogd.cxx @@ -12627,7 +12627,10 @@ void load_config_section(char *section, char **buffer, char *error) { while (*p == ' ' || *p == '\t' || *p == '\n' || *p == '\r') p++; } - memmove(*buffer, p, length); + int n = length; + if ((int)strlen(p)+1 < n) + n = strlen(p)+1; + memmove(*buffer, p, n); if ((p = (char *) find_next_section(*buffer + 1)) != NULL) { *p = 0;