On Sun, 7 Jan 2018 02:31:49 +0800 Antonio Quartulli <[email protected]> wrote:
> When the first header field is disabled (i.e. when passing the -t > option), field_flush() is invoked with the `buffer` global variable > still zero'd. > However, in field_flush() we try to access buffer.cur->len > during variables initialization, thus leading to a SIGSEGV. Good catch, thanks for fixing this. > It's interesting to note that this bug appears only when the code > is compiled with -O0, because the compiler is smart > enough to immediately jump to the return statement if optimizations > are enabled and skip the faulty instruction. I should really have tested all the options with -O0 as well. :( Done now. > Cc: Stefano Brivio <[email protected]> > Cc: Stephen Hemminger <[email protected]> > Signed-off-by: Antonio Quartulli <[email protected]> Fixes: 691bd854bf4a ("ss: Buffer raw fields first, then render them as a table") Reviewed-by: Stefano Brivio <[email protected]> -- Stefano
