=================================================================== RCS file: /cvs/mandoc/roff_escape.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -p -r1.10 -r1.11 --- mandoc/roff_escape.c 2022/06/05 13:54:09 1.10 +++ mandoc/roff_escape.c 2022/06/06 12:09:48 1.11 @@ -1,4 +1,4 @@ -/* $OpenBSD: roff_escape.c,v 1.10 2022/06/05 13:54:09 schwarze Exp $ */ +/* $OpenBSD: roff_escape.c,v 1.11 2022/06/06 12:09:48 schwarze Exp $ */ /* * Copyright (c) 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2020, 2022 * Ingo Schwarze @@ -206,10 +206,6 @@ roff_escape(const char *buf, const int ln, const int a term = '\b'; break; case 'C': - if (buf[iarg] != '\'') { - rval = ESCAPE_ERROR; - goto out; - } rval = ESCAPE_SPECIAL; term = '\b'; break; @@ -391,6 +387,11 @@ roff_escape(const char *buf, const int ln, const int a break; case ESCAPE_SPECIAL: + if (argl == 0) { + err = MANDOCERR_ESC_BADCHAR; + rval = ESCAPE_ERROR; + break; + } /* * The file chars.c only provides one common list of