In the function ematch(), expbuf is declared with the #define'd constant
ESIZE (= 256). But, the function compile is called as follows:
compile(p, expbuf, &expbuf[512], 0);
The wired-in 512 should be changed to ESIZE.
This bug is present in at least V7, System 3, and 4.1BSD.
--
David Trueman @ U of Toronto Zoology
{allegra,ihnp4,linus,decvax}!utzoo!david