small fix for DeployImageDialog
cover small fix for DeployImageDialog
Hi,
There is a warning caused by using os.temp(). Use module tempfile to replace it.
Regards,
Kai
The following changes since commit e0a70547069fe7e8a2d6bdaffc985fb172d46c31:
perl: Allow perl to cross build and native build in a directory named "t" (2012-06-18 17:33:04 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib kangkai/distro
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/distro
Kang Kai (1):
hig.py: use module tempfile to create temp file
bitbake/lib/bb/ui/crumbs/hig.py | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-)
Signature · 1 line
1.7.5.4
PATCH 1/1 hig.py: use module tempfile to create temp file
I am sorry that use os.tmpname which casue a security warning. Follow Darren's suggestion to use tempfile.NamedTemporaryFile instead.
Signed-off-by Kang Kai <[email protected]>
--- bitbake/lib/bb/ui/crumbs/hig.py | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-)
bitbake/lib/bb/ui/crumbs/hig.py +8 -12
@@ -28,6 +28,7 @@ import os import re import shlex import subprocess +import tempfile from bb.ui.crumbs.hobcolor import HobColors from bb.ui.crumbs.hobwidget import hcc, hic, HobViewTable, HobInfoButton, HobButton, HobAltButton, HobIconChecker from bb.ui.crumbs.progressbar import HobProgressBar
@@ -869,21 +870,16 @@ class DeployImageDialog (CrumbsDialog): if combo_item and combo_item != self.__dummy_usb__ and self.image_path: cmdline = bb.ui.crumbs.utils.which_terminal() if cmdline: - tmpname = os.tmpnam() + tmpfile = tempfile.NamedTemporaryFile() cmdline += "\"sudo dd if=" + self.image_path + \ - " of=" + combo_item + "; echo $? > " + tmpname + "\"" + " of=" + combo_item + "; echo $? > " + tmpfile.name + "\"" subprocess.call(shlex.split(cmdline)) - # if file tmpname not exists, that means there is something wrong with xterm - # user can get the error message from xterm so no more warning need. - if os.path.exists(tmpname): - tmpfile = open(tmpname) - if int(tmpfile.readline().strip()) == 0: - lbl = "<b>Deploy image successfully.</b>" - else: - lbl = "<b>Failed to deploy image.</b>\nPlease check image <b>%s</b> exists and USB device <b>%s</b> is writable." % (self.image_path, combo_item) - tmpfile.close() - os.remove(tmpname) + if int(tmpfile.readline().strip()) == 0: + lbl = "<b>Deploy image successfully.</b>" + else: + lbl = "<b>Failed to deploy image.</b>\nPlease check image <b>%s</b> exists and USB device <b>%s</b> is writable." % (self.image_path, combo_item) + tmpfile.close() else: if not self.image_path: lbl = "<b>No selection made.</b>\nYou have not selected an image to deploy."
Signature · 1 line
1.7.5.4