66498b
From 684c3ce6850c4168e127ea84432e7a9006296ff4 Mon Sep 17 00:00:00 2001
66498b
From: Akira TAGOH <akira@tagoh.org>
66498b
Date: Fri, 25 May 2018 13:51:10 +0900
66498b
Subject: [PATCH 1/7] Fix leaks
66498b
66498b
---
66498b
 src/fcxml.c | 9 +++++++++
66498b
 1 file changed, 9 insertions(+)
66498b
66498b
diff --git a/src/fcxml.c b/src/fcxml.c
66498b
index 1ee1ba1..c69ee50 100644
66498b
--- a/src/fcxml.c
66498b
+++ b/src/fcxml.c
66498b
@@ -2777,6 +2777,11 @@ FcParseAcceptRejectFont (FcConfigParse *parse, FcElement element)
66498b
 	    {
66498b
 		FcConfigMessage (parse, FcSevereError, "out of memory");
66498b
 	    }
66498b
+	    else
66498b
+	    {
66498b
+		if (parse->scanOnly && vstack->u.string)
66498b
+		    FcStrFree (vstack->u.string);
66498b
+	    }
66498b
 	    break;
66498b
 	case FcVStackPattern:
66498b
 	    if (!parse->scanOnly && !FcConfigPatternsAdd (parse->config,
66498b
@@ -2786,7 +2791,11 @@ FcParseAcceptRejectFont (FcConfigParse *parse, FcElement element)
66498b
 		FcConfigMessage (parse, FcSevereError, "out of memory");
66498b
 	    }
66498b
 	    else
66498b
+	    {
66498b
+		if (parse->scanOnly && vstack->u.pattern)
66498b
+		    FcPatternDestroy (vstack->u.pattern);
66498b
 		vstack->tag = FcVStackNone;
66498b
+	    }
66498b
 	    break;
66498b
 	default:
66498b
 	    FcConfigMessage (parse, FcSevereWarning, "bad font selector");
66498b
-- 
66498b
2.17.1
66498b