36 lines
1.4 KiB
Diff
36 lines
1.4 KiB
Diff
|
commit 7beb7e0f65c6f66daebd307c492381249ddd41be
|
||
|
Author: Vincent Untz <vuntz@gnome.org>
|
||
|
Date: Wed Jan 5 10:32:44 2011 +0100
|
||
|
|
||
|
gnome-shell.in: Really never add empty elements to LD_LIBRARY_PATH
|
||
|
|
||
|
This complements the fix from c6eb2761, to make sure that we don't use
|
||
|
the pre-existing $LD_LIBRARY_PATH if it's set but empty.
|
||
|
|
||
|
Both commits fix CVE-2010-4000.
|
||
|
|
||
|
https://bugzilla.gnome.org/show_bug.cgi?id=638728
|
||
|
|
||
|
diff --git a/src/gnome-shell.in b/src/gnome-shell.in
|
||
|
index 2abd7d5..e422adb 100755
|
||
|
--- a/src/gnome-shell.in
|
||
|
+++ b/src/gnome-shell.in
|
||
|
@@ -152,7 +152,7 @@ def start_dconf_await_service():
|
||
|
# dconf is linked without libtool, so unlike other GNOME modules,
|
||
|
# won't have an embedded rpath for its library directory.
|
||
|
env = dict(os.environ)
|
||
|
- if 'LD_LIBRARY_PATH' in env:
|
||
|
+ if 'LD_LIBRARY_PATH' in env and env['LD_LIBRARY_PATH']:
|
||
|
ld_library_path = '@libdir@:' + env['LD_LIBRARY_PATH']
|
||
|
else:
|
||
|
ld_library_path = '@libdir@'
|
||
|
@@ -246,7 +246,7 @@ def start_shell(perf_output=None):
|
||
|
if pkgconfig.returncode == 0:
|
||
|
mozjs_libdir = re.sub('-(sdk|devel)', '', mozjs_sdkdir)
|
||
|
if os.path.exists(mozjs_libdir + '/libmozjs.so'):
|
||
|
- if 'LD_LIBRARY_PATH' in env:
|
||
|
+ if 'LD_LIBRARY_PATH' in env and env['LD_LIBRARY_PATH']:
|
||
|
ld_library_path = env['LD_LIBRARY_PATH'] + ':' + mozjs_libdir
|
||
|
else:
|
||
|
ld_library_path = mozjs_libdir
|