Mailing List Archive

perl 4.036 bug in script decryption
(Between being perl 4 and encrypted scripts, most of you will
have skipped this message already, but this could be significant
to those few who remain...)

There is a rather subtle bug in the way that decryption is done
in perl 4.

If you have an encrypted script that loads in an unencrypted
script (either "require" or "do"), then the close at the end of
the second script uses the pipe close subroutine instead of the
file close subroutine. Usually, this end up not doing any
damage, but if you fork off a child that is still around while
the unencrypted script is being loaded, the pipe close can hang
in a "wait" system call. This only happens on some OS
variants.

I'll be working out a fix for this, probably, some day, but I've
got two workarounds for now (1) encrypt all subordinate scripts,
(2) don't keep children around - make the child a grandchild and
reap the intervening child. Both of these are feasible in my
current case, so I might never get around to fixing perl 4
before I'm ready to move the programs to perl 5.

--
Maybe we can fix reality one of these days. | John Macdonald
<- Larry Wall Carl Dichter -> | jmm@Elegant.COM
I'd be happy if we could just index it. |