mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-10 09:07:02 +02:00
BUG/MINOR: tools: make fgets_from_mem() stop at the end of the input
The memchr() used to look for the LF character must consider the end of input, not just the output buffer size. This was found by oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=71096 No backport is needed.
This commit is contained in:
parent
75944e266e
commit
0982bfd999
@ -6681,6 +6681,9 @@ char *fgets_from_mem(char* buf, int size, const char **position, const char *end
|
||||
return NULL;
|
||||
|
||||
size--; /* keep fgets behaviour, reads at most one less than size */
|
||||
if (size > end - *position)
|
||||
size = end - *position;
|
||||
|
||||
new_pos = memchr(*position, '\n', size);
|
||||
if (new_pos) {
|
||||
/* '+1' to grab and copy '\n' at the end of line */
|
||||
|
Loading…
Reference in New Issue
Block a user