src/fccfg.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
New commits:
commit 71b14d645f524637579d87ea99720c123d728e1f
Author: Akira TAGOH <akira at tagoh.org>
Date:   Wed Feb 22 16:30:05 2012 +0900
    Bug 46169 - Pointer error in FcConfigGlobMatch
    
    Fix possibly accessing the invalid memory and a crash in the worst case
    when the glob string is longer than the string.
diff --git a/src/fccfg.c b/src/fccfg.c
index 09c5991..9395f74 100644
--- a/src/fccfg.c
+++ b/src/fccfg.c
@@ -2023,7 +2023,15 @@ FcConfigGlobMatch (const FcChar8    *glob,
 		return FcTrue;
 	    /* short circuit another common case */
 	    if (strchr ((char *) glob, ''*'') == 0)
-		string += strlen ((char *) string) - strlen ((char *) glob);
+	    {
+		size_t l1, l2;
+
+		l1 = strlen ((char *) string);
+		l2 = strlen ((char *) glob);
+		if (l1 < l2)
+		    return FcFalse;
+		string += (l1 - l2);
+	    }
 	    while (*string)
 	    {
 		if (FcConfigGlobMatch (glob, string))