summaryrefslogtreecommitdiffstats
path: root/usr.bin/mandoc/roff.c
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2018-12-20 03:38:10 +0000
committerschwarze <schwarze@openbsd.org>2018-12-20 03:38:10 +0000
commit395bfb10fed00e186b02a3c1a8e0ae1ccaa37503 (patch)
treedb4aedebb564c0115ef703d6477de751e92d5371 /usr.bin/mandoc/roff.c
parentCorrectly describe the return values of BN_hex2bn(3) and BN_dec2bn(3). (diff)
downloadwireguard-openbsd-395bfb10fed00e186b02a3c1a8e0ae1ccaa37503.tar.xz
wireguard-openbsd-395bfb10fed00e186b02a3c1a8e0ae1ccaa37503.zip
Bugfix:
When after a \\, \t, or \a, another \t or \a had to be resolved in copy mode within the same argument, the argument got corrupted. Found while working on a loosely related bug report from Fabio Scotoni <fabio at esse dot ch>.
Diffstat (limited to 'usr.bin/mandoc/roff.c')
-rw-r--r--usr.bin/mandoc/roff.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/mandoc/roff.c b/usr.bin/mandoc/roff.c
index 6168ea61bc8..b28c7879444 100644
--- a/usr.bin/mandoc/roff.c
+++ b/usr.bin/mandoc/roff.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: roff.c,v 1.225 2018/12/18 21:58:41 schwarze Exp $ */
+/* $OpenBSD: roff.c,v 1.226 2018/12/20 03:38:10 schwarze Exp $ */
/*
* Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2010-2015, 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>
@@ -1586,7 +1586,7 @@ mandoc_getarg(char **cpp, int ln, int *pos)
switch (cp[1]) {
case 'a':
case 't':
- cp[0] = '\t';
+ cp[-pairs] = '\t';
/* FALLTHROUGH */
case '\\':
pairs++;