aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMattias Hansson <mattias.hansson@axis.com>2018-04-10 16:44:51 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-04-23 12:19:48 +0100
commit82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40 (patch)
treee5ca7b84fb4ed873c97b78f099944b9e58dd0fb8
parent103bbc6642261cd5da038ba2071621919ee01253 (diff)
downloadbitbake-master.zip
bitbake-master.tar.gz
bitbake-master.tar.bz2
lib/bb/utils: prevent movefile from changing dest dir permissionsHEADmaster-nextmaster1.38
Prevent movefile from falsely setting the source file's owner and permissions on the destination directory instead of the destination file when moving between devices. This bug caused the last file moved into a directory to dictate the directory's owner and permissions. Signed-off-by: Mattias Hansson <mattias.hansson@axis.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/utils.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/bb/utils.py b/lib/bb/utils.py
index 8b739d7..378e699 100644
--- a/lib/bb/utils.py
+++ b/lib/bb/utils.py
@@ -807,8 +807,8 @@ def movefile(src, dest, newmtime = None, sstat = None):
return None # failure
try:
if didcopy:
- os.lchown(dest, sstat[stat.ST_UID], sstat[stat.ST_GID])
- os.chmod(dest, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
+ os.lchown(destpath, sstat[stat.ST_UID], sstat[stat.ST_GID])
+ os.chmod(destpath, stat.S_IMODE(sstat[stat.ST_MODE])) # Sticky is reset on chown
os.unlink(src)
except Exception as e:
print("movefile: Failed to chown/chmod/unlink", dest, e)