fontconfig: Branch 'master'

[email protected] (Akira TAGOH)
Newsgroups gmane.comp.fonts.fontconfig
Message-ID <[email protected]>
 src/fcweight.c      |    1 +
 test/Makefile.am    |    4 ++++
 test/test-bz96676.c |   32 ++++++++++++++++++++++++++++++++
 3 files changed, 37 insertions(+)

New commits:
commit 99645ff9eecbf2178199aa940703fbe8ed275867
Author: Akira TAGOH <[email protected]>
Date:   Fri Jul 8 14:16:49 2016 +0900

    Bug 96676 - Check range of FcWeightFromOpenType argument
    
    Fix a crash issue when FcWeightFromOpenType() gets a number more than it expects.

diff --git a/src/fcweight.c b/src/fcweight.c
index 1a3b608..036a518 100644
--- a/src/fcweight.c
+++ b/src/fcweight.c
@@ -75,6 +75,7 @@ FcWeightFromOpenType (int ot_weight)
 		case 9: ot_weight = 900; break;
 	    }
 	}
+	ot_weight = FC_MIN (ot_weight, map[(sizeof (map) / sizeof (map[0])) - 1].ot);
 
 	for (i = 1; ot_weight > map[i].ot; i++)
 	  ;
diff --git a/test/Makefile.am b/test/Makefile.am
index bf1ec24..72923fa 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -38,6 +38,10 @@ check_PROGRAMS += test-migration
 test_migration_LDADD = $(top_builddir)/src/libfontconfig.la
 endif
 
+check_PROGRAMS += test-bz96676
+test_bz96676_LDADD = $(top_builddir)/src/libfontconfig.la
+TESTS += test-bz96676
+
 EXTRA_DIST=$(check_SCRIPTS) $(TESTDATA)
 
 CLEANFILES=
diff --git a/test/test-bz96676.c b/test/test-bz96676.c
new file mode 100644
index 0000000..cbf7bd0
--- /dev/null
+++ b/test/test-bz96676.c
@@ -0,0 +1,32 @@
+/*
+ * fontconfig/test/test-bz96676.c
+ *
+ * Copyright © 2000 Keith Packard
+ * Copyright © 2016 Akira TAGOH
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  The authors make no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+#include <fontconfig/fontconfig.h>
+#include <limits.h>
+
+int
+main (int argc, char **argv)
+{
+    return FcWeightFromOpenType (INT_MAX) != FC_WEIGHT_EXTRABLACK;
+}

_______________________________________________
Fontconfig mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/fontconfig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.