diff -Nurd -x'*~' libwmf-0.2.8.4.orig/configure libwmf-0.2.8.4/configure --- libwmf-0.2.8.4.orig/configure 2005-07-27 17:47:12.000000000 -0400 +++ libwmf-0.2.8.4/configure 2013-07-24 10:31:14.000000000 -0400 @@ -2022,10 +2022,13 @@ # CFLAGS to be listed by libwmf-config should be added to this: WMF_CONFIG_CFLAGS= -# Other CFLAGS, not to be listed by libwmf-config, should be added to this: +# CFLAGS, not to be listed by libwmf-config, should be added to this: WMF_CFLAGS= # LDFLAGS to be listed by libwmf-config should be added to this: +WMF_CONFIG_LIBFLAGS= + +# LDFLAGS, not to be listed by libwmf-config, should be added to this: WMF_LIBFLAGS= # WMF_DEFS is for flags such as -DDEBUG which are to applied only to @@ -26153,6 +26156,7 @@ WMF_CONFIG_CFLAGS="$WMF_FT_CONFIG_CFLAGS $WMF_Z_CONFIG_CFLAGS $WMF_X_CONFIG_CFLAGS" +WMF_CONFIG_LIBFLAGS="$WMF_PLOT_LDFLAGS $WMF_GD_LDFLAGS $WMF_FT_LDFLAGS $WMF_X_LDFLAGS" @@ -27013,6 +27017,7 @@ s,@GDK_PIXBUF_DIR@,$GDK_PIXBUF_DIR,;t t s,@WMF_CFLAGS@,$WMF_CFLAGS,;t t s,@WMF_CONFIG_CFLAGS@,$WMF_CONFIG_CFLAGS,;t t +s,@WMF_CONFIG_LIBFLAGS@,$WMF_CONFIG_LIBFLAGS,;t t s,@WMF_LIBFLAGS@,$WMF_LIBFLAGS,;t t s,@WMF_DOCDIR@,$WMF_DOCDIR,;t t s,@WMF_FONTDIR@,$WMF_FONTDIR,;t t diff -Nurd -x'*~' libwmf-0.2.8.4.orig/libwmf-config.in libwmf-0.2.8.4/libwmf-config.in --- libwmf-0.2.8.4.orig/libwmf-config.in 2004-02-10 07:41:26.000000000 -0500 +++ libwmf-0.2.8.4/libwmf-config.in 2013-07-24 10:29:12.000000000 -0400 @@ -94,7 +94,7 @@ fi wmf_cflags="@WMF_CONFIG_CFLAGS@" -wmf_liblflags="@WMF_LIBFLAGS@" +wmf_liblflags="@WMF_CONFIG_LIBFLAGS@" case `uname` in CYGWIN*) diff -Nurd -x'*~' libwmf-0.2.8.4.orig/src/convert/Makefile.in libwmf-0.2.8.4/src/convert/Makefile.in --- libwmf-0.2.8.4.orig/src/convert/Makefile.in 2005-07-27 17:47:05.000000000 -0400 +++ libwmf-0.2.8.4/src/convert/Makefile.in 2013-07-24 02:46:42.000000000 -0400 @@ -136,7 +136,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = -L$(top_builddir)/src/.libs @WMF_LIBFLAGS@ @LDFLAGS@ +LDFLAGS = @WMF_LIBFLAGS@ @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ diff -Nurd -x'*~' libwmf-0.2.8.4.orig/src/font.c libwmf-0.2.8.4/src/font.c --- libwmf-0.2.8.4.orig/src/font.c 2005-07-27 16:35:06.000000000 -0400 +++ libwmf-0.2.8.4/src/font.c 2013-07-24 02:46:53.000000000 -0400 @@ -199,7 +199,7 @@ unsigned int i = 0; while (font_data->cache[i].name) - { if (strcmp (font_data->cache[i].path,entry->path) == 0) break; + { if (strcmp (font_data->cache[i].name,entry->name) == 0) break; i++; } @@ -422,7 +422,6 @@ fontmap_data->FD.FI = 0; - if (API->flags & WMF_OPT_SYS_FONTS) { if (API->flags & WMF_OPT_SYS_FONTMAP) { wmf_ipa_font_map_xml (API,&(fontmap_data->FD),options->sys_fontmap_file); } diff -Nurd -x'*~' libwmf-0.2.8.4.orig/src/player.c libwmf-0.2.8.4/src/player.c --- libwmf-0.2.8.4.orig/src/player.c 2002-12-10 14:30:26.000000000 -0500 +++ libwmf-0.2.8.4/src/player.c 2013-07-24 02:46:53.000000000 -0400 @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -132,8 +133,14 @@ } } -/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char)); - */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char)); + if (MAX_REC_SIZE(API) > UINT32_MAX / 2) + { + API->err = wmf_E_InsMem; + WMF_DEBUG (API,"bailing..."); + return (API->err); + } + + P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char)); if (ERR (API)) { WMF_DEBUG (API,"bailing...");