diff options
author | Jakob Gillich <jakob@gillich.me> | 2016-01-07 05:42:28 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2016-01-07 10:25:26 +0100 |
commit | 90b853b70698c2b9a6ab5ce814263a417aa80bdf (patch) | |
tree | c9de8191938f9ade1cae132af8ed749c4bb49bc4 /pkgs/development/libraries/plib | |
parent | 4f4eebbded6b18d3e308c6e03943355a6622b489 (diff) | |
download | nixlib-90b853b70698c2b9a6ab5ce814263a417aa80bdf.tar nixlib-90b853b70698c2b9a6ab5ce814263a417aa80bdf.tar.gz nixlib-90b853b70698c2b9a6ab5ce814263a417aa80bdf.tar.bz2 nixlib-90b853b70698c2b9a6ab5ce814263a417aa80bdf.tar.lz nixlib-90b853b70698c2b9a6ab5ce814263a417aa80bdf.tar.xz nixlib-90b853b70698c2b9a6ab5ce814263a417aa80bdf.tar.zst nixlib-90b853b70698c2b9a6ab5ce814263a417aa80bdf.zip |
plib: fix CVE-2012-4552 (close #12195)
patch source: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694810#10
Diffstat (limited to 'pkgs/development/libraries/plib')
-rw-r--r-- | pkgs/development/libraries/plib/CVE-2012-4552.patch | 55 | ||||
-rw-r--r-- | pkgs/development/libraries/plib/default.nix | 2 |
2 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/development/libraries/plib/CVE-2012-4552.patch b/pkgs/development/libraries/plib/CVE-2012-4552.patch new file mode 100644 index 000000000000..d38532830769 --- /dev/null +++ b/pkgs/development/libraries/plib/CVE-2012-4552.patch @@ -0,0 +1,55 @@ +diff -up plib-1.8.5/src/ssg/ssgParser.cxx~ plib-1.8.5/src/ssg/ssgParser.cxx +--- plib-1.8.5/src/ssg/ssgParser.cxx~ 2008-03-11 03:06:23.000000000 +0100 ++++ plib-1.8.5/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/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix index 4ab6fb3ad8b4..ff60e62cad3f 100644 --- a/pkgs/development/libraries/plib/default.nix +++ b/pkgs/development/libraries/plib/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { sha256 = "0cha71mflpa10vh2l7ipyqk67dq2y0k5xbafwdks03fwdyzj4ns8"; }; + patches = [ ./CVE-2012-4552.patch ]; + NIX_CFLAGS_COMPILE = if enablePIC then "-fPIC" else ""; propagatedBuildInputs = [ |