From 99645ff9eecbf2178199aa940703fbe8ed275867 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Fri, 8 Jul 2016 14:16:49 +0900 Subject: Bug 96676 - Check range of FcWeightFromOpenType argument Fix a crash issue when FcWeightFromOpenType() gets a number more than it expects. --- test/Makefile.am | 4 ++++ test/test-bz96676.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 test/test-bz96676.c (limited to 'test') diff --git a/test/Makefile.am b/test/Makefile.am index bf1ec24a..72923faf 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 00000000..cbf7bd06 --- /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 +#include + +int +main (int argc, char **argv) +{ + return FcWeightFromOpenType (INT_MAX) != FC_WEIGHT_EXTRABLACK; +} -- cgit v1.2.3