On Mon, 15 May 2000, Ulf Jaenicke-Roessler wrote:
> Starting program: /home/ujr/texinfo-4.0/info/./ginfo mp3asm
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x400a9b3c in free () from /lib/libc.so.6
> (gdb) bt
> #0 0x400a9b3c in free () from /lib/libc.so.6
> #1 0x400a9aed in free () from /lib/libc.so.6
> #2 0x8053886 in clean_manpage (
> manpage=0x8071320 "ndocumented.7V
Does the following patch solve the problem?
2000-05-15 Eli Zaretskii <[EMAIL PROTECTED]>
* info/man.c (clean_manpage): Don't write to newpage[-1].
--- info/man.c~0 Mon Jul 5 23:43:22 1999
+++ info/man.c Mon May 15 23:56:18 2000
@@ -397,7 +397,11 @@ clean_manpage (manpage)
newline_count--;
}
- if (manpage[i] == '\b' || manpage[i] == '\f')
+ /* A malformed man page could have a \b as its first character,
+ in which case decrementing j by 2 will cause us to write into
+ newpage[-1], smashing the hidden info stored there by malloc,
+ with obvious consequences... */
+ if ((manpage[i] == '\b' || manpage[i] == '\f') && j > 0)
j -= 2;
}