diff options
author | Diego Rondini <diego.ml@zoho.com> | 2016-04-29 12:24:09 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-11 10:33:38 +0100 |
commit | 0aba7d5d36c0001fb150c1997cba05f15718f3a4 (patch) | |
tree | f9fe67600fa34073574e2bf401a07d02cfe41b5e /meta/recipes-core | |
parent | 548e55c3340f5e073277d4e397b15ab9d87e4037 (diff) | |
download | poky-0aba7d5d36c0001fb150c1997cba05f15718f3a4.tar.gz |
base-files: add some safety checks in profile
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.
(From OE-Core rev: 8961bc4b71723477a3b4a837a1d9c25c1b860b9e)
Signed-off-by: Diego Rondini <diego.ml@zoho.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r-- | meta/recipes-core/base-files/base-files/profile | 6 |
1 files 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 53c2680409..e98e786b12 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 | |||
20 | fi | 20 | fi |
21 | 21 | ||
22 | if [ -d /etc/profile.d ]; then | 22 | if [ -d /etc/profile.d ]; then |
23 | for i in /etc/profile.d/* ; do | 23 | for i in /etc/profile.d/*.sh ; do |
24 | . $i | 24 | if [ -f $i -a -r $i ]; then |
25 | . $i | ||
26 | fi | ||
25 | done | 27 | done |
26 | unset i | 28 | unset i |
27 | fi | 29 | fi |