Re: Minor changed needed to doc on untrusted pl/perl example - Mailing list pgsql-docs

From Michael Fuhr
Subject Re: Minor changed needed to doc on untrusted pl/perl example
Date
Msg-id 20051021205116.GA9396@winnie.fuhr.org
Whole thread Raw
In response to Minor changed needed to doc on untrusted pl/perl example  (Bob <luckyratfoot@gmail.com>)
List pgsql-docs
On Fri, Oct 21, 2005 at 01:06:05PM -0500, Bob wrote:
> CREATE FUNCTION badfunc() RETURNS integer AS $$
>     open(TEMP, ">/tmp/badfile");
>     print TEMP "Gotcha!\n";
>     return 1;
> $$ LANGUAGE plperl;
>
> I believe the code snippet should look like this for it to work correctly:
>
> CREATE FUNCTION badfunc() RETURNS integer AS $$
>     open(TEMP, ">/tmp/badfile");
>     print TEMP "Gotcha!\n";
>     close(TEMP);
>     return 1;
> $$ LANGUAGE plperl;

The function should work without an explicit close (or it would,
but for the security check).  The file should appear on disk
immediately after the open, although the data might not be flushed
to disk until the file is actually closed, such as when the calling
session's postmaster exits (that's how a plperlu version behaves
on my test system, anyway).  Not that I disagree with adding an
explicit close, but the example should still "work" without it.

--
Michael Fuhr

pgsql-docs by date:

Previous
From: Bob
Date:
Subject: Minor changed needed to doc on untrusted pl/perl example
Next
From: Bruce Momjian
Date:
Subject: Re: Will PQregisterThreadLock() be documented?