Prevent gnulib compat code from using snprintf("...%n") for no good reason

Heavier fix in upstream gnulib:
https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00013.html

Spotted in a test bulk by naddy@
This commit is contained in:
jca 2020-10-05 21:50:40 +00:00
parent 831733cbd7
commit d304287f10
4 changed files with 40 additions and 4 deletions

View File

@ -1,12 +1,12 @@
# $OpenBSD: Makefile,v 1.61 2020/04/04 20:26:17 naddy Exp $
# $OpenBSD: Makefile,v 1.62 2020/10/05 21:50:40 jca Exp $
COMMENT= GNU parser generator
DISTNAME= bison-3.3.2
REVISION= 2
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNU:=bison/}
EXTRACT_SUFX= .tar.xz
REVISION= 1
HOMEPAGE= https://www.gnu.org/software/bison/

View File

@ -0,0 +1,20 @@
$OpenBSD: patch-lib_vasnprintf_c,v 1.1 2020/10/05 21:50:40 jca Exp $
Don't use printf %n.
Index: lib/vasnprintf.c
--- lib/vasnprintf.c.orig
+++ lib/vasnprintf.c
@@ -4871,11 +4871,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
#endif
*fbp = dp->conversion;
#if USE_SNPRINTF
-# if ! (((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
- && !defined __UCLIBC__) \
- || (defined __APPLE__ && defined __MACH__) \
- || defined __ANDROID__ \
- || (defined _WIN32 && ! defined __CYGWIN__))
+# if 0
fbp[1] = '%';
fbp[2] = 'n';
fbp[3] = '\0';

View File

@ -1,12 +1,12 @@
# $OpenBSD: Makefile,v 1.35 2019/07/16 21:29:41 sthen Exp $
# $OpenBSD: Makefile,v 1.36 2020/10/05 21:50:40 jca Exp $
COMMENT= GNU m4
DISTNAME= m4-1.4.18
REVISION= 1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNU:=m4/}
EXTRACT_SUFX= .tar.xz
REVISION= 0
HOMEPAGE= https://www.gnu.org/software/m4/

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-lib_vasnprintf_c,v 1.1 2020/10/05 21:50:40 jca Exp $
Don't use printf %n.
Index: lib/vasnprintf.c
--- lib/vasnprintf.c.orig
+++ lib/vasnprintf.c
@@ -4858,7 +4858,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
#endif
*fbp = dp->conversion;
#if USE_SNPRINTF
-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+# if 0
fbp[1] = '%';
fbp[2] = 'n';
fbp[3] = '\0';