Patch: Untaint FH flag and clean DATA handles
authorRandy J. Ray <rjray@uswest.com>
Thu, 19 Sep 1996 15:58:22 +0000 (11:58 -0400)
committerAndy Dougherty <doughera@lafcol.lafayette.edu>
Thu, 19 Sep 1996 15:58:22 +0000 (11:58 -0400)
commit4f73262430dfb149e8d6a6804636241f465c0991
treef95601199974be1e99d454de2dd3e0aaaa59a334
parente5cf08def37eb3e6aae76e85f2a3156394cae970
Patch: Untaint FH flag and clean DATA handles

Restore the 5.003 gv_fullname() and gv_efullname() functions.
Provide new 3-arg forms gv_fullname3() and gv_efullname3().

This patch adds a IOf_UNTAINT flag in sv.h, as one of the possibles
on an xpvio->xio_flags struct member. It is used to mark the given
file handle as a clean source, even when tainting is turned on.
There are also patches to pp_sys.c in pp_sysread to check this flag
before tainting data, and in pp_hot.c in do_readline for the same
reason. Lastly, it patches toke.c to automatically set this flag on
on a __DATA__ filehandle. The creation of the $pack::DATA
pseudo-filehandle is already checked against running under eval, so
this should not introduce any insecurity.

This patch *does not*:

* Add the "untaint" keyword.
pp_hot.c