aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog3
-rw-r--r--debian/patches/056_nx-X11-Werror-format-security.patch107
-rw-r--r--debian/patches/series1
3 files changed, 111 insertions, 0 deletions
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 <orion@cora.nwra.com>
+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