[OE-core] [PATCH] base-files: add some safety checks in profile
Diego Rondini
diego.ml at zoho.com
Fri Apr 29 10:24:09 UTC 2016
Add some safety checks when sourcing files in /etc/profile.d/, in particular:
- source only *.sh files, not every file. This is the practice in use in both
Fedora and Debian/Ubuntu (see
https://help.ubuntu.com/community/EnvironmentVariables#A.2Fetc.2Fprofile.d.2F.2A.sh);
- check the input is actually a file and is readable. This check is especially
important if profile.d is empty, as "*.sh" will get expanded only if
profile.d is not empty. Previously if profile.d was present but empty,
"/etc/profile.d/*" was sourced causing errors on login and breaking stuff, for
example X startup.
Signed-off-by: Diego Rondini <diego.ml at zoho.com>
---
meta/recipes-core/base-files/base-files/profile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-core/base-files/base-files/profile b/meta/recipes-core/base-files/base-files/profile
index 53c2680..e98e786 100644
--- a/meta/recipes-core/base-files/base-files/profile
+++ b/meta/recipes-core/base-files/base-files/profile
@@ -20,8 +20,10 @@ if [ "$PS1" ]; then
fi
if [ -d /etc/profile.d ]; then
- for i in /etc/profile.d/* ; do
- . $i
+ for i in /etc/profile.d/*.sh ; do
+ if [ -f $i -a -r $i ]; then
+ . $i
+ fi
done
unset i
fi
--
1.9.1
More information about the Openembedded-core
mailing list