tech@mandoc.bsd.lv
 help / color / mirror / Atom feed
* Bug: crash in mdoc_bl_pre() in mdoc_html.c:843
@ 2017-01-28 12:57 Michael Stapelberg
  2017-01-28 18:55 ` Ingo Schwarze
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Stapelberg @ 2017-01-28 12:57 UTC (permalink / raw)
  To: tech

I think http://mdocml.bsd.lv/cgi-bin/cvsweb/mdoc_html.c.diff?r1=1.247&r2=1.248
introduced a bug, specifically this hunk:

@@ -856,62 +770,47 @@
  * screen and we want to preserve that behaviour.
  */

- for (i = 0; i < (int)n->norm->Bl.ncols; i++) {
- bufinit(h);
- a2width(n->norm->Bl.cols[i], &su);
- if (i < (int)n->norm->Bl.ncols - 1)
- bufcat_su(h, "width", &su);
- else
- bufcat_su(h, "min-width", &su);
- PAIR_STYLE_INIT(&tag[0], h);
- print_otag(h, TAG_COL, 1, tag);
- }
+ for (i = 0; i < (int)n->norm->Bl.ncols - 1; i++)
+ print_otag(h, TAG_COL, "sww", n->norm->Bl.cols[i]);
+ print_otag(h, TAG_COL, "swW", n->norm->Bl.cols[i]);
[…]

To reproduce the crash, use:
$ curl https://manpages.debian.org/unstable/heimdal-dev/gssapi.3.en.gz
| ./mandoc -Thtml
[…]
segmentation fault (core dumped)  ./mandoc -Thtml
$ gdb mandoc core
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000560b3ac5d977 in mdoc_bl_pre (meta=0x560b3c509130,
n=0x560b3c51dd50, h=0x560b3c509260) at mdoc_html.c:843
843 print_otag(h, TAG_COL, "swW", n->norm->Bl.cols[i]);
gdb $ bt
#0  0x0000560b3ac5d977 in mdoc_bl_pre (meta=0x560b3c509130,
n=0x560b3c51dd50, h=0x560b3c509260) at mdoc_html.c:843
#1  0x0000560b3ac5c6d4 in print_mdoc_node (meta=0x560b3c509130,
n=0x560b3c51dd50, h=0x560b3c509260) at mdoc_html.c:396
#2  0x0000560b3ac5c47f in print_mdoc_nodelist (meta=0x560b3c509130,
n=0x560b3c51dd50, h=0x560b3c509260) at mdoc_html.c:337
#3  0x0000560b3ac5c743 in print_mdoc_node (meta=0x560b3c509130,
n=0x560b3c51dcb0, h=0x560b3c509260) at mdoc_html.c:406
#4  0x0000560b3ac5c47f in print_mdoc_nodelist (meta=0x560b3c509130,
n=0x560b3c51dcb0, h=0x560b3c509260) at mdoc_html.c:337
#5  0x0000560b3ac5c743 in print_mdoc_node (meta=0x560b3c509130,
n=0x560b3c51d610, h=0x560b3c509260) at mdoc_html.c:406
#6  0x0000560b3ac5c47f in print_mdoc_nodelist (meta=0x560b3c509130,
n=0x560b3c51d610, h=0x560b3c509260) at mdoc_html.c:337
#7  0x0000560b3ac5c743 in print_mdoc_node (meta=0x560b3c509130,
n=0x560b3c51d380, h=0x560b3c509260) at mdoc_html.c:406
#8  0x0000560b3ac5c47f in print_mdoc_nodelist (meta=0x560b3c509130,
n=0x560b3c51d380, h=0x560b3c509260) at mdoc_html.c:337
#9  0x0000560b3ac5c2dd in html_mdoc (arg=0x560b3c509260,
mdoc=0x560b3c509130) at mdoc_html.c:304
#10 0x0000560b3ac7b011 in parse (curp=0x7fff20668810, fd=0,
file=0x560b3ac9db71 "<stdin>") at main.c:748
#11 0x0000560b3ac7a446 in main (argc=0, argv=0x7fff20668a18) at main.c:454


-- 
Best regards,
Michael
--
 To unsubscribe send an email to tech+unsubscribe@mdocml.bsd.lv

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-01-28 18:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-28 12:57 Bug: crash in mdoc_bl_pre() in mdoc_html.c:843 Michael Stapelberg
2017-01-28 18:55 ` Ingo 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).