diff --git a/srcpkgs/plib/patches/CVE-2011-4620.diff b/srcpkgs/plib/patches/CVE-2011-4620.diff new file mode 100644 index 00000000000..920580c6c02 --- /dev/null +++ b/srcpkgs/plib/patches/CVE-2011-4620.diff @@ -0,0 +1,11 @@ +--- src/util/ulError.cxx ++++ src/util/ulError.cxx +@@ -39,7 +39,7 @@ + { + va_list argp; + va_start ( argp, fmt ) ; +- vsprintf ( _ulErrorBuffer, fmt, argp ) ; ++ vsnprintf ( _ulErrorBuffer, sizeof(_ulErrorBuffer), fmt, argp ) ; + va_end ( argp ) ; + + if ( _ulErrorCB ) diff --git a/srcpkgs/plib/patches/CVE-2012-4552.diff b/srcpkgs/plib/patches/CVE-2012-4552.diff new file mode 100644 index 00000000000..a6d34bfddfa --- /dev/null +++ b/srcpkgs/plib/patches/CVE-2012-4552.diff @@ -0,0 +1,55 @@ +diff -up plib-1.8.5/src/ssg/ssgParser.cxx~ plib-1.8.5/src/ssg/ssgParser.cxx +--- src/ssg/ssgParser.cxx~ 2008-03-11 03:06:23.000000000 +0100 ++++ src/ssg/ssgParser.cxx 2012-11-01 15:33:12.424483374 +0100 +@@ -57,18 +57,16 @@ void _ssgParser::error( const char *form + char msgbuff[ 255 ]; + va_list argp; + +- char* msgptr = msgbuff; +- if (linenum) +- { +- msgptr += sprintf ( msgptr,"%s, line %d: ", +- path, linenum ); +- } +- + va_start( argp, format ); +- vsprintf( msgptr, format, argp ); ++ vsnprintf( msgbuff, sizeof(msgbuff), format, argp ); + va_end( argp ); + +- ulSetError ( UL_WARNING, "%s", msgbuff ) ; ++ if (linenum) ++ { ++ ulSetError ( UL_WARNING, "%s, line %d: %s", path, linenum, msgbuff ) ; ++ } else { ++ ulSetError ( UL_WARNING, "%s", msgbuff ) ; ++ } + } + + +@@ -78,18 +76,16 @@ void _ssgParser::message( const char *fo + char msgbuff[ 255 ]; + va_list argp; + +- char* msgptr = msgbuff; +- if (linenum) +- { +- msgptr += sprintf ( msgptr,"%s, line %d: ", +- path, linenum ); +- } +- + va_start( argp, format ); +- vsprintf( msgptr, format, argp ); ++ vsnprintf( msgbuff, sizeof(msgbuff), format, argp ); + va_end( argp ); + +- ulSetError ( UL_DEBUG, "%s", msgbuff ) ; ++ if (linenum) ++ { ++ ulSetError ( UL_DEBUG, "%s, line %d: %s", path, linenum, msgbuff ) ; ++ } else { ++ ulSetError ( UL_DEBUG, "%s", msgbuff ) ; ++ } + } + + // Opens the file and does a few internal calculations based on the spec. diff --git a/srcpkgs/plib/template b/srcpkgs/plib/template index 730f53a11d2..bbb235bcd9e 100644 --- a/srcpkgs/plib/template +++ b/srcpkgs/plib/template @@ -1,16 +1,16 @@ -# Template build file for 'plib' +# Template file for 'plib' pkgname=plib version=1.8.5 -revision=5 -build_style=gnu-configure +revision=6 configure_args="--enable-shared --disable-static" +build_style=gnu-configure +hostmakedepends="autoconf automake libtool" +makedepends="MesaLib-devel libX11-devel libXi-devel libXmu-devel" short_desc="Suite of Portable Game Libraries" maintainer="Enno Boland " -license="LGPL-2" +license="LGPL-2.0-or-later" homepage="http://plib.sourceforge.net" -distfiles="http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz" -makedepends="MesaLib-devel libX11-devel libXi-devel libXmu-devel" -hostmakedepends="autoconf automake libtool" +distfiles="http://plib.sourceforge.net/dist/plib-${version}.tar.gz" checksum=485b22bf6fdc0da067e34ead5e26f002b76326f6371e2ae006415dea6a380a32 pre_configure() {