1 |
--- mozilla/xulrunner/stub/nsXULStub.cpp.old 2008-04-09 09:49:41.000000000 +0300 |
2 |
+++ mozilla/xulrunner/stub/nsXULStub.cpp 2008-09-27 17:20:37.000000000 +0300 |
3 |
@@ -208,8 +208,10 @@ main(int argc, char **argv) |
4 |
// 3) give up |
5 |
|
6 |
struct stat fileStat; |
7 |
+ int r = readlink("/proc/self/exe", iniPath, MAXPATHLEN); |
8 |
|
9 |
- if (!realpath(argv[0], iniPath) || stat(iniPath, &fileStat)) { |
10 |
+ if ((!(r > 0 && r < MAXPATHLEN) || stat(iniPath, &fileStat)) && |
11 |
+ (!realpath(argv[0], iniPath) || stat(iniPath, &fileStat))) { |
12 |
const char *path = getenv("PATH"); |
13 |
if (!path) |
14 |
return 1; |