Bug 1105511 - Check validity of principals before doing permissions check; r=gerard-majax

This commit is contained in:
Kyle Machulis 2014-12-09 13:52:46 -08:00
parent f48da3ebda
commit ac9724ff1e

View File

@ -55,6 +55,10 @@ XPCOMUtils.defineLazyServiceGetter(this, "uuidgen",
let SettingsPermissions = {
checkPermission: function(aPrincipal, aPerm) {
if (!aPrincipal) {
Cu.reportError("SettingsPermissions.checkPermission was passed a null principal. Denying all permissions.");
return false;
}
if (aPrincipal.origin == "[System Principal]" ||
Services.perms.testExactPermissionFromPrincipal(aPrincipal, aPerm) == Ci.nsIPermissionManager.ALLOW_ACTION) {
return true;