From 4bbcbe505ec79294b243a4dac60d4d1bff397336 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Sat, 29 Mar 2014 21:22:59 +0100 Subject: Add patch: 056_nx-X11-Werror-format-security.patch. Fix more -Werror=format-security errors that only show up on ARM builds. (Fixes: #423). --- debian/changelog | 3 + .../056_nx-X11-Werror-format-security.patch | 107 +++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 111 insertions(+) create mode 100644 debian/patches/056_nx-X11-Werror-format-security.patch diff --git a/debian/changelog b/debian/changelog index 7e242b345..74fa55e75 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,9 @@ nx-libs (2:3.5.0.23-0x2go1) UNRELEASED; urgency=low * Add patch: 055_nx-X11_imake-Werror-format-security.full.patch. Fix FTBFS of imake on current Fedora rawhide (21) which uses the compiler option -Werror=format-security for all builds. (Fixes: #412). + * Add patch: 056_nx-X11-Werror-format-security.patch. Fix more + -Werror=format-security errors that only show up on ARM builds. (Fixes: + #423). * nx-libs.spec: - Sync nx-libs.spec in Fedora with upstream's nx-libs.spec file. (Fixes: #393). diff --git a/debian/patches/056_nx-X11-Werror-format-security.patch b/debian/patches/056_nx-X11-Werror-format-security.patch new file mode 100644 index 000000000..e9d8bb4bd --- /dev/null +++ b/debian/patches/056_nx-X11-Werror-format-security.patch @@ -0,0 +1,107 @@ +Description: Fix -Werror=format-security errors +Author: Orion Poplawski +Abstract: + The below patch fixes more -Werror=format-security errors. + Interestingly, most of the errors only showed up on our arm builds. No + idea why. +--- a/nx-X11/lib/xtrans/Xtransint.h ++++ b/nx-X11/lib/xtrans/Xtransint.h +@@ -443,7 +443,7 @@ + int hack= 0, saveerrno=errno; \ + struct timeval tp;\ + gettimeofday(&tp,0); \ +- ErrorF(__xtransname); \ ++ ErrorF("%s",__xtransname); \ + ErrorF(x+hack,a,b,c); \ + ErrorF("timestamp (ms): %d\n",tp.tv_sec*1000+tp.tv_usec/1000); \ + errno=saveerrno; \ +@@ -453,7 +453,7 @@ + int hack= 0, saveerrno=errno; \ + struct timeval tp;\ + gettimeofday(&tp,0); \ +- fprintf(stderr, __xtransname); fflush(stderr); \ ++ fprintf(stderr, "%s",__xtransname); fflush(stderr); \ + fprintf(stderr, x+hack,a,b,c); fflush(stderr); \ + fprintf(stderr, "timestamp (ms): %d\n",tp.tv_sec*1000+tp.tv_usec/1000); \ + fflush(stderr); \ +@@ -465,14 +465,14 @@ + /* Use ErrorF() for the X server */ + #define PRMSG(lvl,x,a,b,c) if (lvl <= XTRANSDEBUG){ \ + int hack= 0, saveerrno=errno; \ +- ErrorF(__xtransname); \ ++ ErrorF("%s",__xtransname); \ + ErrorF(x+hack,a,b,c); \ + errno=saveerrno; \ + } else ((void)0) + #else + #define PRMSG(lvl,x,a,b,c) if (lvl <= XTRANSDEBUG){ \ + int hack= 0, saveerrno=errno; \ +- fprintf(stderr, __xtransname); fflush(stderr); \ ++ fprintf(stderr, "%s",__xtransname); fflush(stderr); \ + fprintf(stderr, x+hack,a,b,c); fflush(stderr); \ + errno=saveerrno; \ + } else ((void)0) +--- a/nx-X11/programs/nxauth/process.c ++++ b/nx-X11/programs/nxauth/process.c +@@ -974,7 +974,7 @@ + char *hex; + + hex = bintohex(len, cp); +- fprintf(fp, hex); ++ fprintf(fp, "%s", hex); + free(hex); + } + +--- a/nx-X11/programs/Xserver/GL/glx/glximports.c ++++ b/nx-X11/programs/Xserver/GL/glx/glximports.c +@@ -110,12 +110,12 @@ + + void __glXImpWarning(__GLcontext *gc, char *msg) + { +- ErrorF((char *)msg); ++ ErrorF("%s",(char *)msg); + } + + void __glXImpFatal(__GLcontext *gc, char *msg) + { +- ErrorF((char *)msg); ++ ErrorF("%s",(char *)msg); + __glXAbort(); + } + +--- a/nx-X11/programs/Xserver/hw/nxagent/Error.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/Error.c +@@ -232,7 +232,7 @@ + + int nxagentExitHandler(const char *message) + { +- FatalError(message); ++ FatalError("%s", message); + + return 0; + } +--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c +@@ -481,7 +481,7 @@ + + nxagentStartRedirectToClientsLog(); + +- fprintf(stderr, buffer); ++ fprintf(stderr, "%s", buffer); + + nxagentEndRedirectToClientsLog(); + } +--- a/nx-X11/programs/Xserver/os/log.c ++++ b/nx-X11/programs/Xserver/os/log.c +@@ -692,9 +692,9 @@ + return; + sprintf(err, "%s: ", str); + strcat(err, strerror(saveErrno)); +- LogWrite(-1, err); ++ LogWrite(-1, "%s", err); + } else +- LogWrite(-1, strerror(saveErrno)); ++ LogWrite(-1, "%s", strerror(saveErrno)); + } + + void diff --git a/debian/patches/series b/debian/patches/series index 88b9a3058..20e281cea 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -29,6 +29,7 @@ 053_nx-X11_no-xcomp1-install-target.full.patch 054_nx-X11_ppc64-ftbfs.full.patch 055_nx-X11_imake-Werror-format-security.full.patch +056_nx-X11-Werror-format-security.patch 101_nxagent_set-rgb-path.full.patch 102_xserver-xext_set-securitypolicy-path.full.patch 103_nxagent_set-X0-config-path.full.patch -- cgit v1.2.3