equal
deleted
inserted
replaced
1 |
|
2 # HG changeset patch |
|
3 # User Aidin Gharibnavaz <aidin@aidinhut.com> |
|
4 # Date 1450550460 -12600 |
|
5 # Node ID 07ec362866977f37e638fc88e3079621fd7aef96 |
|
6 # Parent cb66ffeb6725e8344818e8e2f707ae2eaeb953b4 |
|
7 Bug 1233434 - Fixing download failure on a multi-user GNU/Linux machine. r?bagder |
|
8 |
|
9 diff -r cb66ffeb6725 -r 07ec36286697 uriloader/exthandler/nsExternalHelperAppService.cpp |
|
10 --- a/uriloader/exthandler/nsExternalHelperAppService.cpp Tue Dec 15 14:45:06 2015 +0100 |
|
11 +++ b/uriloader/exthandler/nsExternalHelperAppService.cpp Sat Dec 19 22:11:00 2015 +0330 |
|
12 @@ -416,12 +416,12 @@ |
|
13 const char* userName = PR_GetEnv("USERNAME"); |
|
14 if (!userName || !*userName) { |
|
15 userName = PR_GetEnv("USER"); |
|
16 - if (!userName || !*userName) { |
|
17 - userName = PR_GetEnv("LOGNAME"); |
|
18 - } |
|
19 - else { |
|
20 - userName = "mozillaUser"; |
|
21 - } |
|
22 + } |
|
23 + if (!userName || !*userName) { |
|
24 + userName = PR_GetEnv("LOGNAME"); |
|
25 + } |
|
26 + if (!userName || !*userName) { |
|
27 + userName = "mozillaUser"; |
|
28 } |
|
29 |
|
30 nsAutoString userDir; |
|
31 @@ -447,7 +447,12 @@ |
|
32 rv = finalPath->GetPermissions(&permissions); |
|
33 NS_ENSURE_SUCCESS(rv, rv); |
|
34 |
|
35 - if (permissions == PR_IRWXU) { |
|
36 + // Ensuring the path is writable by the current user. |
|
37 + bool isWritable; |
|
38 + rv = finalPath->IsWritable(&isWritable); |
|
39 + NS_ENSURE_SUCCESS(rv, rv); |
|
40 + |
|
41 + if (permissions == PR_IRWXU && isWritable) { |
|
42 dir = finalPath; |
|
43 break; |
|
44 } |
|
45 |
|