aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libmdocml.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2008-11-25 12:51:17 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2008-11-25 12:51:17 +0000
commitbccf89c05b5b1fce89a6b087e8134d986ccb19c5 (patch)
tree6718b27038760cfa99cae10bb5a21562f0de5c81 /libmdocml.c
parent9a10478e2be49a9146c290e65a6a5548490ab33e (diff)
downloadmandoc-bccf89c05b5b1fce89a6b087e8134d986ccb19c5.tar.gz
mandoc-bccf89c05b5b1fce89a6b087e8134d986ccb19c5.tar.zst
mandoc-bccf89c05b5b1fce89a6b087e8134d986ccb19c5.zip
Protection against non-ascii.
Diffstat (limited to 'libmdocml.c')
-rw-r--r--libmdocml.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libmdocml.c b/libmdocml.c
index 42e79584..910f409d 100644
--- a/libmdocml.c
+++ b/libmdocml.c
@@ -1,4 +1,4 @@
-/* $Id: libmdocml.c,v 1.9 2008/11/24 14:24:55 kristaps Exp $ */
+/* $Id: libmdocml.c,v 1.10 2008/11/25 12:51:17 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -17,6 +17,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
#include <assert.h>
+#include <ctype.h>
#include <fcntl.h>
#include <err.h>
#include <stdio.h>
@@ -188,6 +189,11 @@ again:
return(md_run_leave(args, mbuf, rbuf, 0, p));
for (i = 0; i < sz; i++) {
+ if ( ! isascii(rbuf->buf[i])) {
+ warnx("%s: non-ascii char (line %zu, col %zu)",
+ rbuf->name, rbuf->line, pos);
+ return(md_run_leave(args, mbuf, rbuf, -1, p));
+ }
if ('\n' != rbuf->buf[i]) {
if (pos < BUFFER_LINE) {
/* LINTED */