pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/scmcvs Avoid CVS crashing on systems using _FORT...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7ea6e605e71b
branches:  trunk
changeset: 649864:7ea6e605e71b
user:      dsainty <dsainty%pkgsrc.org@localhost>
date:      Sun Apr 12 07:43:42 2015 +0000

description:
Avoid CVS crashing on systems using _FORTIFY_SOURCE by default.

Using the slightly-ugly but well tested CPP from gnulib as-is.

Bump PKGREVISION.

diffstat:

 devel/scmcvs/Makefile                       |   4 +-
 devel/scmcvs/distinfo                       |   3 +-
 devel/scmcvs/patches/patch-lib_vasnprintf.c |  30 +++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+), 3 deletions(-)

diffs (63 lines):

diff -r 435384412c4b -r 7ea6e605e71b devel/scmcvs/Makefile
--- a/devel/scmcvs/Makefile     Sun Apr 12 06:24:47 2015 +0000
+++ b/devel/scmcvs/Makefile     Sun Apr 12 07:43:42 2015 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.13 2014/10/09 14:06:31 wiz Exp $
+# $NetBSD: Makefile,v 1.14 2015/04/12 07:43:42 dsainty Exp $
 
 DISTNAME=      cvs-1.12.13
-PKGREVISION=   2
+PKGREVISION=   3
 CATEGORIES=    devel scm
 MASTER_SITES=  http://ftp.gnu.org/non-gnu/cvs/source/feature/${PKGVERSION_NOREV}/
 EXTRACT_SUFX=  .tar.bz2
diff -r 435384412c4b -r 7ea6e605e71b devel/scmcvs/distinfo
--- a/devel/scmcvs/distinfo     Sun Apr 12 06:24:47 2015 +0000
+++ b/devel/scmcvs/distinfo     Sun Apr 12 07:43:42 2015 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.13 2014/08/14 10:33:29 richard Exp $
+$NetBSD: distinfo,v 1.14 2015/04/12 07:43:42 dsainty Exp $
 
 SHA1 (cvs-1.12.13.tar.bz2) = 93a8dacc6ff0e723a130835713235863f1f5ada9
 RMD160 (cvs-1.12.13.tar.bz2) = ba3048e3e2d99ae78f6a759889b615acf65dd487
@@ -26,5 +26,6 @@
 SHA1 (patch-ba) = 7153e12e5da86effd4285e147f9f534011982e07
 SHA1 (patch-bb) = 09a607426b672f44c1882b82812e6ca81efdcf8e
 SHA1 (patch-lib_mktime.c) = 526a0e24c6399d527ae6a463ea91e993f9f7e920
+SHA1 (patch-lib_vasnprintf.c) = 6b078c16de6256e33fb86340fe39d663af1b0888
 SHA1 (patch-src_ignore.c) = 90ac25311c83bb5713b83b9cfb6b2c03790ee787
 SHA1 (patch-src_zlib.c) = fee3becf1cc2e45d1241a302ed65c5f11b477a0a
diff -r 435384412c4b -r 7ea6e605e71b devel/scmcvs/patches/patch-lib_vasnprintf.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/scmcvs/patches/patch-lib_vasnprintf.c       Sun Apr 12 07:43:42 2015 +0000
@@ -0,0 +1,30 @@
+$NetBSD: patch-lib_vasnprintf.c,v 1.1 2015/04/12 07:43:42 dsainty Exp $
+
+Avoid CVS crashing on systems using _FORTIFY_SOURCE by default.
+
+http://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/vasnprintf.c?id=913c09becd9df89dbd9b9f386e7f35c240d5efe8
+
+--- lib/vasnprintf.c.orig      2005-05-24 05:44:33.000000000 +1200
++++ lib/vasnprintf.c   2015-04-12 18:56:46.352971555 +1200
+@@ -558,9 +558,21 @@
+                 }
+               *p = dp->conversion;
+ #if USE_SNPRINTF
++# if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3))
+               p[1] = '%';
+               p[2] = 'n';
+               p[3] = '\0';
++# else
++              /* On glibc2 systems from glibc >= 2.3 - probably also older
++                 ones - we know that snprintf's returns value conforms to
++                 ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes.
++                 Therefore we can avoid using %n in this situation.
++                 On glibc2 systems from 2004-10-18 or newer, the use of %n
++                 in format strings in writable memory may crash the program
++                 (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
++                 in this situation.  */
++              p[1] = '\0';
++# endif
+ #else
+               p[1] = '\0';
+ #endif



Home | Main Index | Thread Index | Old Index