From 6029dff0b6843024d8864adcc7a355145d7a9bdf Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 17 Mar 2006 21:04:45 +0000 Subject: Fix the apply_permissions XOR logic so that mask removes mode bits correctly. svn path=/main/trunk/; revision=2917 --- pym/portage_util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pym/portage_util.py') diff --git a/pym/portage_util.py b/pym/portage_util.py index 61730c5fe..38a03087a 100644 --- a/pym/portage_util.py +++ b/pym/portage_util.py @@ -495,9 +495,9 @@ def apply_permissions(filename, uid=-1, gid=-1, mode=-1, mask=-1, else: mode = mode & 07777 if (mode & st_mode != mode) or \ - (mask ^ st_mode != st_mode): + ((mask ^ st_mode) & st_mode != st_mode): new_mode = mode | st_mode - new_mode = mask ^ new_mode + new_mode = (mask ^ new_mode) & mode elif mode != -1: mode = mode & 07777 # protect from unwanted bits if mode != st_mode: -- cgit v1.2.3-1-g7c22