]> git.cameronkatri.com Git - mandoc.git/commitdiff
Protection against non-ascii.
authorKristaps Dzonsons <kristaps@bsd.lv>
Tue, 25 Nov 2008 12:51:17 +0000 (12:51 +0000)
committerKristaps Dzonsons <kristaps@bsd.lv>
Tue, 25 Nov 2008 12:51:17 +0000 (12:51 +0000)
libmdocml.c

index 42e795841084f0e2aad0a419a751dba3007d2f5f..910f409d585d3e7436dd18fc988b72925cfff0ee 100644 (file)
@@ -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 */