journal-remote : Ensure reallocation of source->buf does not result in source->size < source->filled (#3086)
While the function journal-remote-parse.c:get_line() enforces an assertion that source->filled <= source->size, in function journal-remote-parse.c:process_source() there is a chance that source->size will be decreased to a lower value than source->filled, when source->buf is reallocated. Therefore a check is added that ensures that source->buf is reallocated only when source->filled is smaller than target / 2.
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
47cb7f723a
commit
9ba37525d0
@@ -485,7 +485,7 @@ int process_source(RemoteSource *source, bool compress, bool seal) {
|
||||
}
|
||||
|
||||
target = source->size;
|
||||
while (target > 16 * LINE_CHUNK && remain < target / 2)
|
||||
while (target > 16 * LINE_CHUNK && source->filled < target / 2)
|
||||
target /= 2;
|
||||
if (target < source->size) {
|
||||
char *tmp;
|
||||
|
||||
Reference in New Issue
Block a user