All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-4.5] tools/pygrub: Fix TOCTOU race introduced by c/s 63dcc68
@ 2014-10-29 14:09 Andrew Cooper
  2014-10-29 16:03 ` Olaf Hering
  2014-11-04 10:48 ` Ian Campbell
  0 siblings, 2 replies; 6+ messages in thread
From: Andrew Cooper @ 2014-10-29 14:09 UTC (permalink / raw)
  To: Xen-devel; +Cc: Olaf Hering, Wei Liu, Ian Campbell, Andrew Cooper, Ian Jackson

In addition, use os.makedirs() which will also create intermediate directories
if they don't exist.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Olaf Hering <olaf@aepfle.de>
---
 tools/pygrub/src/pygrub |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index 1ae34a2..37dde32 100644
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -13,7 +13,7 @@
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 #
 
-import os, sys, string, struct, tempfile, re, traceback, stat
+import os, sys, string, struct, tempfile, re, traceback, stat, errno
 import copy
 import logging
 import platform
@@ -846,8 +846,14 @@ if __name__ == "__main__":
     if debug:
 	logging.basicConfig(level=logging.DEBUG)
 
-    if not os.path.isdir(output_directory):
-        os.mkdir(output_directory, 0700)
+
+    try:
+        os.makedirs(output_directory, 0700)
+    except OSError,e:
+        if (e.errno == errno.EEXIST) and os.path.isdir(output_directory):
+            pass
+        else:
+            raise
 
     if output is None or output == "-":
         fd = sys.stdout.fileno()
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-11-04 10:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-29 14:09 [PATCH for-4.5] tools/pygrub: Fix TOCTOU race introduced by c/s 63dcc68 Andrew Cooper
2014-10-29 16:03 ` Olaf Hering
2014-10-29 18:09   ` Andrew Cooper
2014-10-29 19:43     ` Olaf Hering
2014-11-04 10:48 ` Ian Campbell
2014-11-04 10:52   ` Please *justify* your use of the for-4.5 tag when posting patches Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.