summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/labs.c
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2013-06-01 04:56:41 +0000
committerschwarze <schwarze@openbsd.org>2013-06-01 04:56:41 +0000
commitfb4e1350516f54765298c37e927b8fd583076fe3 (patch)
treeb06d12b0c4f377984451a4adef0955788b5bebf2 /lib/libc/stdlib/labs.c
parentsome small style changes that are distracting me from seeing a real bug (diff)
downloadwireguard-openbsd-fb4e1350516f54765298c37e927b8fd583076fe3.tar.xz
wireguard-openbsd-fb4e1350516f54765298c37e927b8fd583076fe3.zip
If a table contained at least one complete line
and on its last line, the first T{ remained unclosed, roff_parseln() never returned ROFF_TBL for that last line, so {man,mdoc}_addspan() never got called for that last line, so we ended up with a table where no line associated with a node had TBL_SPAN_LAST set, so tbl_term() never free()'d the cols in struct roffcol, so tblcalc() crashed on the NULL == tbl->cols assertion when starting the *next* table in the same file. Fix this by returning ROFF_TBL as soon as we open a data cell, not only when finishing it - as explained above, it may never get properly closed but instead be interrupted by .TE. Problem reported by bentley@ in latex2man.1. I love it when bugs take half a day to debug but the fix turns out to be flipping one single bit in the source code.
Diffstat (limited to 'lib/libc/stdlib/labs.c')
0 files changed, 0 insertions, 0 deletions