discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
* Segmentation fault on some man pages
@ 2019-11-30 19:39 Milan P. Stanić
  2019-12-02 21:05 ` Ingo Schwarze
  0 siblings, 1 reply; 3+ messages in thread
From: Milan P. Stanić @ 2019-11-30 19:39 UTC (permalink / raw)
  To: discuss

[-- Attachment #1: Type: text/plain, Size: 906 bytes --]

Hello,

Sorry if this is not right list to post bug report but I can't find
where to post it.

On Alpine linux (musl libc) we discovered 'Segmentation fault' when
running 'man nft' (nftables man page).

We have mandoc (named mdocml=1.14.5-r0 in our distribution) and it works
fine, except this for 'nft' man page.

This is excerpt from 'ltrace man nft':
putwchar(9472, 9472, 0x7fe813c0bbab, 0)
strcmp(nil, "\\^" <no return ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

I looked in source and found problem in tbl_term.c file.
I made crude hack by removing few lines in tbl_term.c and build mandoc
again and with these changes it works without (visible to me) problem
for man pages I tried and for nft man page.

I'm attaching patch I made, but I think it is not proper fix and hope
that some of you experienced in this will make proper fix.
File I'm attaching is just hint.

-- 
Tia

[-- Attachment #2: fix-tbl_term.patch --]
[-- Type: text/x-diff, Size: 757 bytes --]

--- a/tbl_term.c	2019-03-10 10:56:43.000000000 +0100
+++ b/tbl_term.c	2019-11-30 14:38:12.918969863 +0100
@@ -625,8 +626,7 @@
 		/* Print the horizontal line inside this column. */
 
 		lw = cpp == NULL || cpn == NULL ||
-		    (cpn->pos != TBL_CELL_DOWN &&
-		     (dpn == NULL || strcmp(dpn->string, "\\^") != 0))
+		    cpn->pos != TBL_CELL_DOWN
 		    ? hw : 0;
 		tbl_direct_border(tp, BHORIZ * lw,
 		    col->width + col->spacing / 2);
@@ -669,8 +669,7 @@
 		/* The horizontal line inside the next column. */
 
 		rw = cpp == NULL || cpn == NULL ||
-		    (cpn->pos != TBL_CELL_DOWN &&
-		     (dpn == NULL || strcmp(dpn->string, "\\^") != 0))
+		    cpn->pos != TBL_CELL_DOWN
 		    ? hw : 0;
 
 		/* The line crossing at the end of this column. */

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

end of thread, other threads:[~2019-12-02 22:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-30 19:39 Segmentation fault on some man pages Milan P. Stanić
2019-12-02 21:05 ` Ingo Schwarze
2019-12-02 22:14   ` Milan P. Stanić

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).