diff -r 4ba0eb6a14ca -r 571212dc4d05 mozilla-bmo1233434.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-bmo1233434.patch Sat Dec 26 13:34:28 2015 +0100 @@ -0,0 +1,45 @@ + +# HG changeset patch +# User Aidin Gharibnavaz +# Date 1450550460 -12600 +# Node ID 07ec362866977f37e638fc88e3079621fd7aef96 +# Parent cb66ffeb6725e8344818e8e2f707ae2eaeb953b4 +Bug 1233434 - Fixing download failure on a multi-user GNU/Linux machine. r?bagder + +diff -r cb66ffeb6725 -r 07ec36286697 uriloader/exthandler/nsExternalHelperAppService.cpp +--- a/uriloader/exthandler/nsExternalHelperAppService.cpp Tue Dec 15 14:45:06 2015 +0100 ++++ b/uriloader/exthandler/nsExternalHelperAppService.cpp Sat Dec 19 22:11:00 2015 +0330 +@@ -416,12 +416,12 @@ + const char* userName = PR_GetEnv("USERNAME"); + if (!userName || !*userName) { + userName = PR_GetEnv("USER"); +- if (!userName || !*userName) { +- userName = PR_GetEnv("LOGNAME"); +- } +- else { +- userName = "mozillaUser"; +- } ++ } ++ if (!userName || !*userName) { ++ userName = PR_GetEnv("LOGNAME"); ++ } ++ if (!userName || !*userName) { ++ userName = "mozillaUser"; + } + + nsAutoString userDir; +@@ -447,7 +447,12 @@ + rv = finalPath->GetPermissions(&permissions); + NS_ENSURE_SUCCESS(rv, rv); + +- if (permissions == PR_IRWXU) { ++ // Ensuring the path is writable by the current user. ++ bool isWritable; ++ rv = finalPath->IsWritable(&isWritable); ++ NS_ENSURE_SUCCESS(rv, rv); ++ ++ if (permissions == PR_IRWXU && isWritable) { + dir = finalPath; + break; + } +