CVSROOT:        /cvs
Module name:    src
Changes by:     schwa...@cvs.openbsd.org        2012/11/16 06:25:34

Modified files:
        usr.bin/mandoc : mdoc.c mdoc_macro.c 
        regress/usr.bin/mandoc/mdoc/Bd: Makefile 
        regress/usr.bin/mandoc/mdoc/Bl: Makefile 
Added files:
        regress/usr.bin/mandoc/mdoc/Bd: break.in break.out_ascii 
                                        broken.in broken.out_ascii 
        regress/usr.bin/mandoc/mdoc/Bl: break.in break.out_ascii 
                                        broken.in broken.out_ascii 

Log message:
Fix a crash triggered by .Bl -tag .It Xo .El .Sh found by florian@.

* When allocating a body end marker, copy the pointer to the normalized
block information from the body block, avoiding the risk of subsequent
null pointer derefence.
* When inserting the body end marker into the syntax tree, do not try to
copy that pointer from the parent block, because not being a direkt child
of the block it belongs to is the whole point of a body end marker.
* Even non-callable blocks (like Bd and Bl) can break other blocks;
when this happens, postpone closing them out in the usual way.

Reply via email to