[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [arm/release] fix: buggy path handling when saving snapshots



commit c40d50313588cc472b426f9b6d4450dbe9d49084
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date:   Wed Dec 7 09:56:23 2011 -0800

    fix: buggy path handling when saving snapshots
    
    The log snapshot method both didn't expect relative paths and threw unexpected
    exceptions (OSError rather than IOError) when the mkdir call for our parent
    directory failed.
    
    Caught by Jeff Bonner in...
    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=646080
---
 src/cli/logPanel.py |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/cli/logPanel.py b/src/cli/logPanel.py
index f39617d..179db9f 100644
--- a/src/cli/logPanel.py
+++ b/src/cli/logPanel.py
@@ -911,9 +911,15 @@ class LogPanel(panel.Panel, threading.Thread):
       path - path where to save the log snapshot
     """
     
+    path = os.path.abspath(path)
+    
     # make dir if the path doesn't already exist
     baseDir = os.path.dirname(path)
-    if not os.path.exists(baseDir): os.makedirs(baseDir)
+    
+    try:
+      if not os.path.exists(baseDir): os.makedirs(baseDir)
+    except OSError, exc:
+      raise IOError("unable to make directory '%s'" % baseDir)
     
     snapshotFile = open(path, "w")
     self.valsLock.acquire()



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits