diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2015-04-19 20:35:20 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2015-04-19 20:35:20 +0000 |
commit | b3c6910297c5c3ac3a504ac3e46fe4df7c5c7ad2 (patch) | |
tree | 877dddfefdb80054573a8839645aa1999152f48e | |
parent | 22263071d729e5d19d22c171e8f31fa516fb4721 (diff) | |
download | mandoc-b3c6910297c5c3ac3a504ac3e46fe4df7c5c7ad2.tar.gz mandoc-b3c6910297c5c3ac3a504ac3e46fe4df7c5c7ad2.tar.zst mandoc-b3c6910297c5c3ac3a504ac3e46fe4df7c5c7ad2.zip |
More than one data field may follow T} on the same input line.
Issue found by Christian Neukirchen <chneukirchen at gmail dot com>
in the socket(2) manual on Linux.
Also fixes major rendering bugs (including partial loss of content)
in XkbChangeControls(3), XkbFreeClientMap(3), XkbGetMap(3),
XkbKeyNumGroups(3), and XkbSetMap(3).
-rw-r--r-- | tbl_data.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $Id: tbl_data.c,v 1.39 2015/01/30 17:32:16 schwarze Exp $ */ +/* $Id: tbl_data.c,v 1.40 2015/04/19 20:35:20 schwarze Exp $ */ /* * Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2011, 2015 Ingo Schwarze <schwarze@openbsd.org> @@ -132,7 +132,8 @@ tbl_cdata(struct tbl_node *tbl, int ln, const char *p, int pos) if (p[pos] == tbl->opts.tab) { tbl->part = TBL_PART_DATA; pos++; - getdata(tbl, tbl->last_span, ln, p, &pos); + while (p[pos] != '\0') + getdata(tbl, tbl->last_span, ln, p, &pos); return(1); } else if (p[pos] == '\0') { tbl->part = TBL_PART_DATA; |