diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-30 17:32:16 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-01-30 17:32:16 +0000 |
commit | 012b0a63e80b5d6c24ffc3ddc292861aa4132cc6 (patch) | |
tree | 1b8cd94b439c7b75bd95c4f483f3886feea2ad6e /tbl_data.c | |
parent | 71fa4361c47e9ed2f3c6521e9273fabb41aadc20 (diff) | |
download | mandoc-012b0a63e80b5d6c24ffc3ddc292861aa4132cc6.tar.gz mandoc-012b0a63e80b5d6c24ffc3ddc292861aa4132cc6.tar.zst mandoc-012b0a63e80b5d6c24ffc3ddc292861aa4132cc6.zip |
Delete the redundant tbl span flags, just inspect the actual data
where needed, which is less fragile.
This fixes a subtle NULL pointer access to tp->tbl.cols:
Due to a bug in the man(7) parser, the first span of a table can
end up in a .TP head, in which case tblcalc() was never called.
Found by jsg@ with afl.
Diffstat (limited to 'tbl_data.c')
-rw-r--r-- | tbl_data.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $Id: tbl_data.c,v 1.38 2015/01/30 04:11:50 schwarze Exp $ */ +/* $Id: tbl_data.c,v 1.39 2015/01/30 17:32:16 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011, 2015 Ingo Schwarze <schwarze@openbsd.org> @@ -173,7 +173,6 @@ newspan(struct tbl_node *tbl, int line, struct tbl_row *rp) if (dp->prev == NULL) { tbl->first_span = dp; tbl->current_span = NULL; - dp->flags |= TBL_SPAN_FIRST; } else dp->prev->next = dp; tbl->last_span = dp; |