summaryrefslogtreecommitdiff
path: root/media-libs/plib/files/plib-1.8.5-CVE-2012-4552.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-02-24 19:58:07 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-02-24 19:58:07 +0000
commit99abbc5e5a6ecd3fc981b45646fd8cb5d320377b (patch)
treeda76713365257a445f3ae3b95470917f59d46728 /media-libs/plib/files/plib-1.8.5-CVE-2012-4552.patch
parent4935506e9a5cbfabd37c64093eac5f36c2ff0017 (diff)
gentoo resync : 24.02.2018
Diffstat (limited to 'media-libs/plib/files/plib-1.8.5-CVE-2012-4552.patch')
-rw-r--r--media-libs/plib/files/plib-1.8.5-CVE-2012-4552.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/media-libs/plib/files/plib-1.8.5-CVE-2012-4552.patch b/media-libs/plib/files/plib-1.8.5-CVE-2012-4552.patch
new file mode 100644
index 000000000000..78f1b22ae129
--- /dev/null
+++ b/media-libs/plib/files/plib-1.8.5-CVE-2012-4552.patch
@@ -0,0 +1,54 @@
+--- plib-1.8.5/src/ssg/ssgParser.cxx~
++++ plib-1.8.5/src/ssg/ssgParser.cxx
+@@ -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.