Flavio enlightened us with:
> Can anyone tell me why, if the following code works, I should not do
> this?
>
> def fun(a=1,b=2,**args):
>
>       print 'locals:',locals()
>       locals().update(args)
>       print locals()

Because it's very, very, very insecure. What would happen if someone
found a way to call that function? It could replace any name in the
locals dictionary, including functions from __builtins__. In other
words: probably the whole program could be taken over by other code by
just one call to that function.

Sybren
-- 
The problem with the world is stupidity. Not saying there should be a
capital punishment for stupidity, but why don't we just take the
safety labels off of everything and let the problem solve itself? 
                                             Frank Zappa
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to