aboutsummaryrefslogtreecommitdiff
path: root/fontconfig/src/fcmatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig/src/fcmatch.c')
-rw-r--r--fontconfig/src/fcmatch.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/fontconfig/src/fcmatch.c b/fontconfig/src/fcmatch.c
index fa8800a04..23f985a6c 100644
--- a/fontconfig/src/fcmatch.c
+++ b/fontconfig/src/fcmatch.c
@@ -269,7 +269,8 @@ FcObjectToMatcher (FcObject object,
break;
}
}
- if (!_FcMatchers[object].compare ||
+ if (object > FC_MAX_BASE_OBJECT ||
+ !_FcMatchers[object].compare ||
_FcMatchers[object].strong == -1 ||
_FcMatchers[object].weak == -1)
return NULL;
@@ -910,6 +911,13 @@ FcFontSetSort (FcConfig *config FC_UNUSED,
}
patternLangSat[i] = FcTrue;
satisfies = FcTrue;
+ /* adjust score to ensure it's not more than 10000.0
+ * which would means the lang didn't satisfy the requirements
+ */
+ if (nodeps[f]->score[PRI_LANG_STRONG] > 10000.0)
+ nodeps[f]->score[PRI_LANG_STRONG] = 10000.0;
+ if (nodeps[f]->score[PRI_LANG_WEAK] > 10000.0)
+ nodeps[f]->score[PRI_LANG_WEAK] = 10000.0;
break;
}
}