On 2/11/20 6:09 PM, Phil Sutter wrote: > Lookahead buffer used for cache requirements estimate in restore > --noflush separates individual lines with nul-chars. Two consecutive > nul-chars are interpreted as end of buffer and remaining buffer content > is skipped. > > Sadly, reading an empty line (i.e., one containing a newline character > only) caused double nul-chars to appear in buffer as well, leading to > premature stop when reading cached lines from buffer. > > To fix that, make use of xtables_restore_parse_line() skipping empty > lines without calling strtok() and just leave the newline character in > place. A more intuitive approach, namely skipping empty lines while > buffering, is deliberately not chosen as that would cause wrong values > in 'line' variable. > > Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1400 > Fixes: 09cb517949e69 ("xtables-restore: Improve performance of --noflush operation") > Signed-off-by: Phil Sutter <phil@xxxxxx> > --- Thanks for working on this! Acked-by: Arturo Borrero Gonzalez <arturo@xxxxxxxxxxxxx>