From 38dd27f7191da002a16c561be3790ce487045b01 Mon Sep 17 00:00:00 2001 From: Benjamin Esquivel Date: Thu, 3 Sep 2015 07:10:45 +0000 Subject: utils: Fix a potential error in movefile bitbake utils' movefile is now prone to malform the destination file with duplicated file name strings. Fixing it to force a file name append iff the dest argument is a dir not a file name Signed-off-by: Benjamin Esquivel Signed-off-by: Richard Purdie --- lib/bb/utils.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/bb/utils.py') diff --git a/lib/bb/utils.py b/lib/bb/utils.py index 5eec78733..b62985dd7 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -741,9 +741,12 @@ def movefile(src, dest, newmtime = None, sstat = None): renamefailed = 1 if sstat[stat.ST_DEV] == dstat[stat.ST_DEV]: try: - # os.rename needs to know the destination path with file name - destfile = os.path.join(dest, os.path.basename(src)) - os.rename(src, destfile) + # os.rename needs to know the dest path ending with file name + # so append the file name to a path only if it's a dir specified + srcfname = os.path.basename(src) + destpath = os.path.join(dest, srcfname) if os.path.isdir(dest) \ + else dest + os.rename(src, destpath) renamefailed = 0 except Exception as e: if e[0] != errno.EXDEV: -- cgit 1.2.3-korg