From a705f91ffa6329b5fc3e6c09ce337b0972c19e2e Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Thu, 4 Dec 2008 16:34:59 +0000 Subject: Character-set validation fixes. --- roff.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'roff.c') diff --git a/roff.c b/roff.c index d61be82a..f5e3cc1f 100644 --- a/roff.c +++ b/roff.c @@ -1,4 +1,4 @@ -/* $Id: roff.c,v 1.37 2008/12/04 16:19:52 kristaps Exp $ */ +/* $Id: roff.c,v 1.38 2008/12/04 16:34:59 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -971,12 +971,20 @@ roffdata(struct rofftree *tree, int space, char *buf) { int tok; + if (0 == *buf) + return(1); + if (-1 == (tok = rofftok_scan(buf))) { roff_err(tree, buf, "invalid character sequence"); return(0); - } else if (ROFFTok_MAX != tok) + } else if (ROFFTok_MAX != tok) { + if (ROFFTok_Null == tok) { /* FIXME */ + buf += 2; + return(roffdata(tree, space, buf)); + } return((*tree->cb.rofftoken) (tree->arg, space != 0, tok)); + } return((*tree->cb.roffdata)(tree->arg, space != 0, tree->cur, buf)); -- cgit v1.2.3-56-ge451