On Thu, May 27, 2010 at 07:00:49PM +0100, Balazs Lecz wrote: > On Thu, May 27, 2010 at 18:40, Iustin Pop <[email protected]> wrote: > > > On Wed, May 26, 2010 at 04:52:27PM +0100, Balazs Lecz wrote: > > > > > > Signed-off-by: Balazs Lecz <[email protected]> > > > --- > > > lib/utils.py | 18 ++++++++++++++++++ > > > 1 files changed, 18 insertions(+), 0 deletions(-) > > > > > > diff --git a/lib/utils.py b/lib/utils.py > > > index 2b3e785..7b93870 100644 > > > --- a/lib/utils.py > > > +++ b/lib/utils.py > > > @@ -645,6 +645,24 @@ def RemoveFile(filename): > > > raise > > > > > > > > > +def RemoveDir(dirname): > > > + """Remove an empty directory. > > > + > > > + Remove a directory, ignoring non-existing ones. > > > + Other errors are passed. This includes the case, > > > + where the directory is not empty, so it can't be removed. > > > + > > > + @type dirname: str > > > + @param dirname: the empty directory to be removed > > > + > > > + """ > > > + try: > > > + os.rmdir(dirname) > > > + except OSError, err: > > > + if err.errno != errno.ENOENT: > > > + raise > > > > This doesn't do any security checks. The dirname must lie somewhere > > below a static path. > > > > iustin > > > > I used utils.RemoveFile() as a template, which doesn't do any checks either. > Should we add safety checks to both?
Usually the callers do, but you're right, it's not always done. LGTM for your case then, but we'll have to revisit this. iustin
