Hey, I’m running into a segfault with mandoc 1.14.3. Steps to reproduce and full backtrace follow below. Please let me know if you need anything else, and thanks in advance for taking a look: % curl https://manpages.debian.org/stretch/tcpreplay/tcprewrite.1.en.gz | mandoc -Thtml % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 16621 0 16621 0 0 18902 0 --:--:-- --:--:-- --:--:-- 18887 TCPREWRITE(1)
TCPREWRITE(1) Programmer's Manual TCPREWRITE(1)

NAME

tcprewrite - Rewrite the packets in a pcap file.

SYNOPSIS

tcprewrite [-flag [value]]... [--opt-name [[=| ]value]]...
All arguments must be options.

DESCRIPTION

This manual page briefly documents the tcprewrite command. Tcprewrite is a tool to rewrite packets stored in pcap(3) file format, such as crated by tools such as tcpdump(1) and ethereal(1). Once a pcap file has had it's packets rewritten, they can be replayed back out on the network using tcpreplay(1).
 
tcprewrite currently supports reading the following DLT types:
 
DLT_C_HDLC aka Cisco HDLC
 
DLT_EN10MB aka Ethernet
 
DLT_LINUX_SLL aka Linux Cooked Socket
 
DLT_RAW aka RAW IP
 
DLT_NULL aka BSD Loopback
 
DLT_LOOP aka OpenBSD Loopback
 
DLT_IEEE802_11 aka 802.11a/b/g
 
DLT_IEEE802_11_RADIO aka 802.11a/b/g with Radiotap headers
 
Please see the --dlt option for supported DLT types for writing.
 
The packet editing features of tcprewrite which distinguish between "client" and "server" traffic requires a tcpprep(1) cache file.
 
For more details, please see the Tcpreplay Manual at: http://tcpreplay.synfin.net/trac/wiki/manual

OPTIONS

zsh: done curl https://manpages.debian.org/stretch/tcpreplay/tcprewrite.1.en.gz | zsh: segmentation fault (core dumped) mandoc -Thtml % gdb =mandoc core Reading symbols from /usr/bin/mandoc...Reading symbols from /usr/lib/debug/.build-id/05/d31ff6a59b9781107cf5670079cfec1af6cada.debug...done. done. [New LWP 26130] Core was generated by `mandoc -Thtml'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x0000559dfe7fd32c in html_make_id (n=) at html.c:256 256 for (cp = buf; *cp != '\0'; cp++) gdb $ backtrace full #0 0x0000559dfe7fd32c in html_make_id (n=) at html.c:256 nch = buf = 0x0 cp = 0x0 #1 0x0000559dfe7ff751 in man_SS_pre (man=, n=, h=0x559dff5d08a0) at man_html.c:492 id = man = h = 0x559dff5d08a0 n = #2 0x0000559dfe7ff0f4 in print_man_node (man=0x559dff5d0750, n=0x559dff5ea490, h=0x559dff5d08a0) at man_html.c:316 want_fillmode = 385 save_fillmode = 0 t = 0x559dff5d4d50 child = 1 __PRETTY_FUNCTION__ = "print_man_node" #3 0x0000559dfe7ff256 in print_man_nodelist (h=, n=0x559dff5ea490, man=) at man_html.c:180 No locals. #4 print_man_node (man=0x559dff5d0750, n=0x559dff5ea3f0, h=0x559dff5d08a0) at man_html.c:326 want_fillmode = 385 save_fillmode = 0 t = 0x559dff5d4d50 child = __PRETTY_FUNCTION__ = "print_man_node" #5 0x0000559dfe7ff256 in print_man_nodelist (h=, n=0x559dff5ea3f0, man=) at man_html.c:180 No locals. #6 print_man_node (man=0x559dff5d0750, n=0x559dff5ea350, h=0x559dff5d08a0) at man_html.c:326 want_fillmode = 385 save_fillmode = 0 t = 0x559dff5d4d50 child = __PRETTY_FUNCTION__ = "print_man_node" #7 0x0000559dfe7ff256 in print_man_nodelist (h=, n=0x559dff5ea350, man=) at man_html.c:180 No locals. #8 print_man_node (man=0x559dff5d0750, n=0x559dff5ea150, h=0x559dff5d08a0) at man_html.c:326 want_fillmode = 385 save_fillmode = 0 t = 0x559dff5d4d50 child = __PRETTY_FUNCTION__ = "print_man_node" #9 0x0000559dfe7ffade in print_man_nodelist (h=0x559dff5d08a0, n=0x559dff5ea150, man=0x559dff5d0750) at man_html.c:180 No locals. #10 html_man (arg=0x559dff5d08a0, man=0x559dff5d0750) at man_html.c:157 h = 0x559dff5d08a0 t = 0x559dff5d4d50 #11 0x0000559dfe816f1e in parse (curp=0x7ffde46ce240, fd=0, file=0x559dfe8393e1 "") at main.c:801 rctmp = MANDOCLEVEL_OK man = 0x559dff5d0750 __PRETTY_FUNCTION__ = "parse" #12 0x0000559dfe7fc1a8 in main (argc=, argv=) at main.c:466 conf = { output = { includes = 0x0, man = 0x0, paper = 0x0, style = 0x0, indent = 0, width = 0, fragment = 0, mdoc = 0, synopsisonly = 0, noval = 0 }, manpath = { paths = 0x0, sz = 0 } } search = { arch = 0x0, sec = 0x0, outkey = 0x559dfe836fc0 "Nd", argmode = ARG_FILE, firstmatch = 0 } curp = { mp = 0x559dff5d0020, outopts = 0x7ffde46ce270, outdata = 0x559dff5d08a0, os_s = 0x0, wstop = 0, mmin = MANDOCERR_MAX, os_e = MANDOC_OS_OTHER, outtype = OUTT_HTML } tag_files = 0x0 res = 0x0 resp = progname = sec = thisarg = conf_file = 0x0 defpaths = 0x0 auxpaths = 0x0 oarg = uc = i = sz = 0 prio = best_prio = outmode = fd = show_usage = 0 options = use_pager = status = 0 signum = c = pager_pid = tc_pgid = man_pgid = pid = -- Best regards, Michael