CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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.