On 2013-01-25 15:40:46 -0500, Tom Lane wrote:
> Andres Freund <and...@2ndquadrant.com> writes:
> > quite possibly doesn't work if copied from here but for quicker viewing:
> 
> > CREATE OR REPLACE FUNCTION "foo():
> >     pass
> 
> > import os
> > os._exit(1)
> > def "() RETURNS void LANGUAGE plpythonu AS $$pass$$;
> 
> > Yep:
> > LOG:  server process (PID 29317) exited with exit code 1
> 
> Ooops.  Good thing plpython is already superuser-only, or this would be
> a security problem.  So should we stop including the SQL function name
> in the python name?

I don't think it's worth it and having something recognizable in there
is useful in (python) backtraces.
I am pretty sure I could do the same in the function source with some
trickery even without the function being executed just because python
also executes stuff during parsing, so I don't think it would buy
enough.
We probably should care about it if there were a trusted plpython (so
you couldn't cause an incomplete function being called or whatever) but
I don't see that happening anytime soon.

Greetings,

Andres Freund

-- 
 Andres Freund                     http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to