From: Randy J. Ray Date: Wed, 9 Oct 1996 02:24:48 +0000 (-0400) Subject: PATCH: untaint method for IO::Handle, 5.003_06 version X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=59629a133a44e0c0672b4b2244f7db38a6ace577;p=p5sagit%2Fp5-mst-13.2.git PATCH: untaint method for IO::Handle, 5.003_06 version This is a re-post of my patch to Graham's IO library to add a method in IO::Handle called "untaint", that sets the IOf_UNTAINT flag on an object that is of or inherits from IO::Handle. With this flag set, data read from said handle is not tainted, whether running under -T, suid or sgid. This patch adds the method to IO.xs, adds documentation and warning to the pod of IO/Handle.pm, creates a new test in t/lib called io_taint.t, and adds mention of the new file to MANIFEST. Add method "untaint" into class IO::Handle --- diff --git a/ext/IO/IO.xs b/ext/IO/IO.xs index bfe1f5a..3cc3518 100644 --- a/ext/IO/IO.xs +++ b/ext/IO/IO.xs @@ -199,6 +199,23 @@ clearerr(handle) OUTPUT: RETVAL +int +untaint(handle) + SV * handle + CODE: + IO * io; + io = sv_2io(handle); + if (io) { + IoFLAGS(io) |= IOf_UNTAINT; + RETVAL = 0; + } + else { + RETVAL = -1; + errno = EINVAL; + } + OUTPUT: + RETVAL + SysRet fflush(handle) OutputStream handle