Bug 1448557 - Crash when GECKO_DISPLAY_REFLOW_RULES_FILE points to a file cannot be open. r=dbaron

MozReview-Commit-ID: CRLF2UwhKbq

--HG--
extra : rebase_source : d687a951aea7fa341ad538da44a950922a05dd67
This commit is contained in:
Xidorn Quan 2018-03-25 00:53:33 +11:00
parent 17ebc1633a
commit e1f4f26b6a

View File

@ -11951,23 +11951,24 @@ void DR_State::ParseRulesFile()
char* path = PR_GetEnv("GECKO_DISPLAY_REFLOW_RULES_FILE");
if (path) {
FILE* inFile = fopen(path, "r");
if (inFile) {
for (DR_Rule* rule = ParseRule(inFile); rule; rule = ParseRule(inFile)) {
if (rule->mTarget) {
LayoutFrameType fType = rule->mTarget->mFrameType;
if (fType != LayoutFrameType::None) {
DR_FrameTypeInfo* info = GetFrameTypeInfo(fType);
AddRule(info->mRules, *rule);
}
else {
AddRule(mWildRules, *rule);
}
mActive = true;
}
}
fclose(inFile);
if (!inFile) {
MOZ_CRASH("Failed to open the specified rules file");
}
for (DR_Rule* rule = ParseRule(inFile); rule; rule = ParseRule(inFile)) {
if (rule->mTarget) {
LayoutFrameType fType = rule->mTarget->mFrameType;
if (fType != LayoutFrameType::None) {
DR_FrameTypeInfo* info = GetFrameTypeInfo(fType);
AddRule(info->mRules, *rule);
}
else {
AddRule(mWildRules, *rule);
}
mActive = true;
}
}
fclose(inFile);
}
}