From bd8f483c4f4bc66f57ef201fc14510aacfde247c Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Thu, 4 Dec 2008 14:42:10 +0000 Subject: [PATCH] os.tmpnam is unsafe. --- modprobe.py | 5 +++-- plnet.py | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modprobe.py b/modprobe.py index d7fa2e3..638ebfa 100644 --- a/modprobe.py +++ b/modprobe.py @@ -5,6 +5,7 @@ """Modprobe is a utility to read/modify/write /etc/modprobe.conf""" import os +import tempfile class Modprobe(): def __init__(self,filename="/etc/modprobe.conf"): @@ -80,8 +81,8 @@ class Modprobe(): return False def output(self,filename="/etc/modprobe.conf",program="NodeManager"): - tmpnam = os.tmpnam() - fb = file(tmpnam,"w") + (fd, tmpnam) = tempfile.mkstemp(dir=os.path.dirname(filename)) + fb = os.fdopen(fd, "w") fb.write("# Written out by %s\n" % program) for command in ("alias","options","install","remove","blacklist"): diff --git a/plnet.py b/plnet.py index 4b0dc76..dfb7fb6 100644 --- a/plnet.py +++ b/plnet.py @@ -3,6 +3,7 @@ import os import socket import time +import tempfile import sioc import modprobe @@ -177,8 +178,8 @@ def InitInterfaces(logger, plc, data, root="", files_only=False): # Process ifcg-$dev changes / additions newdevs = [] for (dev, inter) in interfaces.iteritems(): - tmpnam = os.tmpnam() - f = file(tmpnam, "w") + (fd, tmpnam) = tempfile.mkstemp(dir=sysconfig) + f = os.fdopen(fd, "w") f.write("# Autogenerated by NodeManager/net.py.... do not edit!\n") if 'DRIVER' in inter: f.write("# using %s driver for device %s\n" % (inter['DRIVER'],dev)) -- 2.43.0