source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mdocml: If a block body gets broken, that's no good reason to extend the
@ 2015-04-29 21:59 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2015-04-29 21:59 UTC (permalink / raw)
  To: source

Log Message:
-----------
If a block body gets broken, that's no good reason to extend the 
scope of the end macro.  Instead, only keep the tail scope open if
the end macro macro calls an explicit macro and actually breaks
that.  This corrects syntax tree structure and fixes an assertion
found by jsg@ with afl (test case 098/Apr27).

Modified Files:
--------------
    mdocml:
        mdoc_macro.c

Revision Data
-------------
Index: mdoc_macro.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/mdoc_macro.c,v
retrieving revision 1.196
retrieving revision 1.197
diff -Lmdoc_macro.c -Lmdoc_macro.c -u -p -r1.196 -r1.197
--- mdoc_macro.c
+++ mdoc_macro.c
@@ -673,6 +673,8 @@ blk_exp_close(MACRO_PROT_ARGS)
 
 	if (endbody != NULL)
 		n = endbody;
+
+	ntok = TOKEN_NONE;
 	for (j = 0; ; j++) {
 		lastarg = *pos;
 
@@ -700,7 +702,7 @@ blk_exp_close(MACRO_PROT_ARGS)
 	}
 
 	if (n != NULL) {
-		if (n != mdoc->last && n->flags & MDOC_BROKEN) {
+		if (ntok != TOKEN_NONE && n->flags & MDOC_BROKEN) {
 			target = n;
 			do
 				target = target->parent;
--
 To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-04-29 21:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-29 21:59 mdocml: If a block body gets broken, that's no good reason to extend the schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).