summaryrefslogtreecommitdiffstatshomepage
path: root/mdocterm.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-03-08 18:02:36 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-03-08 18:02:36 +0000
commit3c63611ee89298b92b89ee5a72e03ddf82e2059f (patch)
treefb23a285271560c4502791d265d2916405469a89 /mdocterm.c
parentf4174d477ac34e47067d4a9e45cc192f7271973a (diff)
downloadmandoc-3c63611ee89298b92b89ee5a72e03ddf82e2059f.tar.gz
mandoc-3c63611ee89298b92b89ee5a72e03ddf82e2059f.tar.zst
mandoc-3c63611ee89298b92b89ee5a72e03ddf82e2059f.zip
Updated manuals.
Added -fign-scope and -fign-escape.
Diffstat (limited to 'mdocterm.c')
-rw-r--r--mdocterm.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/mdocterm.c b/mdocterm.c
index da84f179..1f791258 100644
--- a/mdocterm.c
+++ b/mdocterm.c
@@ -1,4 +1,4 @@
-/* $Id: mdocterm.c,v 1.35 2009/03/08 13:52:29 kristaps Exp $ */
+/* $Id: mdocterm.c,v 1.36 2009/03/08 18:02:36 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -681,24 +681,34 @@ pescape(struct termp *p, const char *word, size_t *i, size_t len)
{
size_t j;
- (*i)++;
- assert(*i < len);
+ if (++(*i) >= len) {
+ warnx("ignoring bad escape sequence");
+ return;
+ }
if ('(' == word[*i]) {
(*i)++;
- assert(*i + 1 < len);
+ if (*i + 1 >= len) {
+ warnx("ignoring bad escape sequence");
+ return;
+ }
nescape(p, &word[*i], 2);
(*i)++;
return;
} else if ('*' == word[*i]) {
- /* XXX - deprecated! */
(*i)++;
- assert(*i < len);
+ if (*i >= len) {
+ warnx("ignoring bad escape sequence");
+ return;
+ }
switch (word[*i]) {
case ('('):
(*i)++;
- assert(*i + 1 < len);
+ if (*i + 1 >= len) {
+ warnx("ignoring bad escape sequence");
+ return;
+ }
nescape(p, &word[*i], 2);
(*i)++;
return;
@@ -718,7 +728,10 @@ pescape(struct termp *p, const char *word, size_t *i, size_t len)
for (j = 0; word[*i] && ']' != word[*i]; (*i)++, j++)
/* Loop... */ ;
- assert(word[*i]);
+ if (0 == word[*i]) {
+ warnx("ignoring bad escape sequence");
+ return;
+ }
nescape(p, &word[*i - j], j);
}