summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fccache.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/fccache.c b/src/fccache.c
index 6f3c68a2..f9e66e83 100644
--- a/src/fccache.c
+++ b/src/fccache.c
@@ -642,12 +642,22 @@ FcCacheOffsetsValid (FcCache *cache)
FcValueListPtr l;
char *last_offset;
+ /* TIZEN_ONLY(20171013): Add a condition to FcCacheOffsetsValid() for detecting empty data of cache
if ((char *) font < base ||
(char *) font > end - sizeof (FcFontSet) ||
font->elts_offset < 0 ||
font->elts_offset > end - (char *) font ||
font->num > (end - (char *) font - font->elts_offset) / sizeof (FcPatternElt))
return FcFalse;
+ */
+ if ((char *) font < base ||
+ (char *) font > end - sizeof (FcFontSet) ||
+ font->elts_offset < 0 ||
+ font->elts_offset > end - (char *) font ||
+ font->num > (end - (char *) font - font->elts_offset) / sizeof (FcPatternElt) ||
+ !FcRefIsConst (&font->ref))
+ return FcFalse;
+ /* END */
e = FcPatternElts(font);