[joe] Fixed FTBFS after enabling "-Werror=format-security" flag
pschiffe
pschiffe at fedoraproject.org
Wed Dec 11 12:12:50 UTC 2013
commit 85d905789b810889137217ef15d7bf9cf50b635a
Author: Peter Schiffer <pschiffe at redhat.com>
Date: Wed Dec 11 13:12:29 2013 +0100
Fixed FTBFS after enabling "-Werror=format-security" flag
- resolves: #1037147
joe-3.7-format-security.patch | 162 +++++++++++++++++++++++++++++++++++++++++
joe.spec | 12 ++-
2 files changed, 171 insertions(+), 3 deletions(-)
---
diff --git a/joe-3.7-format-security.patch b/joe-3.7-format-security.patch
new file mode 100644
index 0000000..6d7d1d9
--- /dev/null
+++ b/joe-3.7-format-security.patch
@@ -0,0 +1,162 @@
+diff -upr joe-3.7.orig/b.c joe-3.7/b.c
+--- joe-3.7.orig/b.c 2008-11-02 21:59:06.000000000 +0100
++++ joe-3.7/b.c 2013-12-11 12:46:16.476342506 +0100
+@@ -2994,7 +2994,7 @@ RETSIGTYPE ttsig(int sig)
+ if (b->name)
+ fprintf(ttsig_f, (char *)joe_gettext(_("\n*** File \'%s\'\n")), b->name);
+ else
+- fprintf(ttsig_f, (char *)joe_gettext(_("\n*** File \'(Unnamed)\'\n")));
++ fprintf(ttsig_f, "%s", (char *)joe_gettext(_("\n*** File \'(Unnamed)\'\n")));
+ fflush(ttsig_f);
+ bsavefd(b->bof, fileno(ttsig_f), b->eof->byte);
+ }
+diff -upr joe-3.7.orig/cmd.c joe-3.7/cmd.c
+--- joe-3.7.orig/cmd.c 2008-11-02 02:31:59.000000000 +0100
++++ joe-3.7/cmd.c 2013-12-11 12:51:28.986628113 +0100
+@@ -231,7 +231,7 @@ int steal_lock(BW *bw,int c,B *b,int *no
+ if(bf1[0])
+ joe_snprintf_1(bf,sizeof(bf),joe_gettext(LOCKMSG1),bf1);
+ else
+- joe_snprintf_0(bf,sizeof(bf),joe_gettext(LOCKMSG2));
++ joe_snprintf_1(bf,sizeof(bf),"%s",joe_gettext(LOCKMSG2));
+ if (mkqw(bw->parent, sz(bf), steal_lock, NULL, b, notify)) {
+ return 0;
+ } else {
+@@ -289,7 +289,7 @@ int try_lock(BW *bw,B *b)
+ if(bf1[0])
+ joe_snprintf_1(bf,sizeof(bf),joe_gettext(LOCKMSG1),bf1);
+ else
+- joe_snprintf_0(bf,sizeof(bf),joe_gettext(LOCKMSG2));
++ joe_snprintf_1(bf,sizeof(bf),"%s",joe_gettext(LOCKMSG2));
+ if (mkqw(bw->parent, sz(bf), steal_lock, NULL, b, NULL)) {
+ uquery(bw);
+ if (!b->locked)
+diff -upr joe-3.7.orig/main.c joe-3.7/main.c
+--- joe-3.7.orig/main.c 2013-12-11 12:42:01.980544000 +0100
++++ joe-3.7/main.c 2013-12-11 12:52:22.190198564 +0100
+@@ -204,7 +204,7 @@ int main(int argc, char **real_argv, cha
+
+ #ifndef __MSDOS__
+ if (!(cap = my_getcap(NULL, 9600, NULL, NULL))) {
+- fprintf(stderr, (char *)joe_gettext(_("Couldn't load termcap/terminfo entry\n")));
++ fprintf(stderr, "%s", (char *)joe_gettext(_("Couldn't load termcap/terminfo entry\n")));
+ return 1;
+ }
+ #endif
+@@ -356,7 +356,7 @@ int main(int argc, char **real_argv, cha
+ donerc:
+
+ if (validate_rc()) {
+- fprintf(stderr,(char *)joe_gettext(_("rc file has no :main key binding section or no bindings. Bye.\n")));
++ fprintf(stderr,"%s",(char *)joe_gettext(_("rc file has no :main key binding section or no bindings. Bye.\n")));
+ return 1;
+ }
+
+diff -upr joe-3.7.orig/rc.c joe-3.7/rc.c
+--- joe-3.7.orig/rc.c 2008-11-02 21:33:45.000000000 +0100
++++ joe-3.7/rc.c 2013-12-11 12:53:05.463851142 +0100
+@@ -1489,9 +1489,9 @@ int procrc(CAP *cap, unsigned char *name
+
+ /* Print proper ending string */
+ if (err)
+- fprintf(stderr, (char *)joe_gettext(_("\ndone\n")));
++ fprintf(stderr, "%s", (char *)joe_gettext(_("\ndone\n")));
+ else
+- fprintf(stderr, (char *)joe_gettext(_("done\n")));
++ fprintf(stderr, "%s", (char *)joe_gettext(_("done\n")));
+
+ return err; /* 0 for success, 1 for syntax error */
+ }
+diff -upr joe-3.7.orig/scrn.c joe-3.7/scrn.c
+--- joe-3.7.orig/scrn.c 2008-11-01 04:00:33.000000000 +0100
++++ joe-3.7/scrn.c 2013-12-11 12:53:46.552522391 +0100
+@@ -717,7 +717,7 @@ SCRN *nopen(CAP *cap)
+ signrm();
+ fprintf(stderr,"cm=%p ch=%p cv=%p ho=%p lf=%p DO=%p ll=%p up=%p UP=%p cr=%p\n",
+ t->cm, t->ch, t->cv, t->ho, t->lf, t->DO, t->ll, t->up, t->UP, t->cr);
+- fprintf(stderr,(char *)joe_gettext(_("Sorry, your terminal can't do absolute cursor positioning.\nIt's broken\n")));
++ fprintf(stderr,"%s",(char *)joe_gettext(_("Sorry, your terminal can't do absolute cursor positioning.\nIt's broken\n")));
+ return NULL;
+ ok:
+
+diff -upr joe-3.7.orig/termcap.c joe-3.7/termcap.c
+--- joe-3.7.orig/termcap.c 2006-07-19 16:07:43.000000000 +0200
++++ joe-3.7/termcap.c 2013-12-11 12:54:05.290372747 +0100
+@@ -213,7 +213,7 @@ CAP *my_getcap(unsigned char *name, unsi
+ joe_free(cap);
+ return 0;
+ */
+- fprintf(stderr, (char *)joe_gettext(_("Couldn't load termcap entry. Using ansi default\n")));
++ fprintf(stderr, "%s", (char *)joe_gettext(_("Couldn't load termcap entry. Using ansi default\n")));
+ ti = 0;
+ cap->tbuf = vsncpy(cap->tbuf, 0, sc(defentry));
+ goto checktc;
+diff -upr joe-3.7.orig/tty.c joe-3.7/tty.c
+--- joe-3.7.orig/tty.c 2013-12-11 12:42:01.979544000 +0100
++++ joe-3.7/tty.c 2013-12-11 12:54:50.542011905 +0100
+@@ -326,7 +326,7 @@ void ttopnn(void)
+
+ if (!termin) {
+ if (idleout ? (!(termin = stdin) || !(termout = stdout)) : (!(termin = fopen("/dev/tty", "r")) || !(termout = fopen("/dev/tty", "w")))) {
+- fprintf(stderr, (char *)joe_gettext(_("Couldn\'t open /dev/tty\n")));
++ fprintf(stderr, "%s", (char *)joe_gettext(_("Couldn\'t open /dev/tty\n")));
+ exit(1);
+ } else {
+ #ifdef SIGWINCH
+@@ -743,7 +743,7 @@ int ttshell(unsigned char *cmd)
+ if (cmd)
+ execl((char *)s, (char *)s, "-c", cmd, NULL);
+ else {
+- fprintf(stderr, (char *)joe_gettext(_("You are at the command shell. Type 'exit' to return\n")));
++ fprintf(stderr, "%s", (char *)joe_gettext(_("You are at the command shell. Type 'exit' to return\n")));
+ execl((char *)s, (char *)s, NULL);
+ }
+ _exit(0);
+@@ -807,7 +807,7 @@ void ttsusp(void)
+ omode = ttymode;
+ mpxsusp();
+ ttclsn();
+- fprintf(stderr, (char *)joe_gettext(_("You have suspended the program. Type 'fg' to return\n")));
++ fprintf(stderr, "%s", (char *)joe_gettext(_("You have suspended the program. Type 'fg' to return\n")));
+ kill(0, SIGTSTP);
+ #ifdef junk
+ /* Hmmm... this should not have been necessary */
+diff -upr joe-3.7.orig/uerror.c joe-3.7/uerror.c
+--- joe-3.7.orig/uerror.c 2006-07-19 02:27:13.000000000 +0200
++++ joe-3.7/uerror.c 2013-12-11 12:58:25.382304276 +0100
+@@ -327,7 +327,7 @@ int parserrb(B *b)
+ if (n)
+ joe_snprintf_1(msgbuf, JOE_MSGBUFSIZE, joe_gettext(_("%d messages found")), n);
+ else
+- joe_snprintf_0(msgbuf, JOE_MSGBUFSIZE, joe_gettext(_("No messages found")));
++ joe_snprintf_1(msgbuf, JOE_MSGBUFSIZE, "%s", joe_gettext(_("No messages found")));
+ msgnw(bw->parent, msgbuf);
+ return 0;
+ }
+@@ -341,7 +341,7 @@ int uparserr(BW *bw)
+ if (n)
+ joe_snprintf_1(msgbuf, JOE_MSGBUFSIZE, joe_gettext(_("%d messages found")), n);
+ else
+- joe_snprintf_0(msgbuf, JOE_MSGBUFSIZE, joe_gettext(_("No messages found")));
++ joe_snprintf_1(msgbuf, JOE_MSGBUFSIZE, "%s", joe_gettext(_("No messages found")));
+ msgnw(bw->parent, msgbuf);
+ return 0;
+ }
+diff -upr joe-3.7.orig/ufile.c joe-3.7/ufile.c
+--- joe-3.7.orig/ufile.c 2013-12-11 12:42:01.976544000 +0100
++++ joe-3.7/ufile.c 2013-12-11 12:59:14.713912755 +0100
+@@ -62,11 +62,11 @@ void genexmsgmulti(BW *bw, int saved, in
+ {
+ if (saved)
+ if (skipped)
+- joe_snprintf_0(msgbuf, JOE_MSGBUFSIZE, joe_gettext(_("Some files have not been saved.")));
++ joe_snprintf_1(msgbuf, JOE_MSGBUFSIZE, "%s", joe_gettext(_("Some files have not been saved.")));
+ else
+- joe_snprintf_0(msgbuf, JOE_MSGBUFSIZE, joe_gettext(_("All modified files have been saved.")));
++ joe_snprintf_1(msgbuf, JOE_MSGBUFSIZE, "%s", joe_gettext(_("All modified files have been saved.")));
+ else
+- joe_snprintf_0(msgbuf, JOE_MSGBUFSIZE, joe_gettext(_("No modified files, so no updates needed.")));
++ joe_snprintf_1(msgbuf, JOE_MSGBUFSIZE, "%s", joe_gettext(_("No modified files, so no updates needed.")));
+
+ msgnw(bw->parent, msgbuf);
+
diff --git a/joe.spec b/joe.spec
index 6fae52d..2d6704a 100644
--- a/joe.spec
+++ b/joe.spec
@@ -1,7 +1,7 @@
Summary: An easy to use, modeless text editor
Name: joe
Version: 3.7
-Release: 13%{?dist}
+Release: 14%{?dist}
License: GPLv2+
Group: Applications/Editors
URL: http://sourceforge.net/projects/joe-editor/
@@ -15,6 +15,7 @@ Patch2: joe-3.5-time.patch
Patch3: joe-3.7-orphan.patch
Patch4: joe-3.7-indent-ow.patch
Patch5: joe-3.7-aarch64.patch
+Patch6: joe-3.7-format-security.patch
BuildRequires: ncurses-devel libselinux-devel
@@ -31,6 +32,7 @@ environment.
%patch3 -p1 -b .orphan
%patch4 -p1 -b .of
%patch5 -p1 -b .aarch64
+%patch6 -p1 -b .format-security
iconv -f koi8-r -t utf-8 ./man/ru/joe.1.in >./man/ru/joe.1.in.aux
touch -r ./man/ru/joe.1.in ./man/ru/joe.1.in.aux
mv ./man/ru/joe.1.in.aux ./man/ru/joe.1.in
@@ -66,6 +68,10 @@ popd
%{_datadir}/%{name}
%changelog
+* Wed Dec 11 2013 Peter Schiffer <pschiffe at redhat.com> - 3.7-14
+- resolves: #1037147
+ fixed FTBFS after enabling "-Werror=format-security" flag
+
* Wed Aug 07 2013 Ralf Corsépius <corsepiu at fedoraproject.org> - 3.7-13
- Reflect %%docdir changes (FTBFS RHBZ #992634).
- Append --docdir to %%configure.
@@ -248,10 +254,10 @@ we maintained. Added patch from #80657 from Hans de Goede.
- Added fix for #80673 - 'restrict' (C99 keyword) used as variable.
- Fixed build bugs on i386.
-* Tue Nov 11 2002 Lon Hohberger <lhh at redhat.com> 2.9.7-9
+* Mon Nov 11 2002 Lon Hohberger <lhh at redhat.com> 2.9.7-9
- Fixed zero-byte rc file hang.
-* Tue Nov 06 2002 Lon Hohberger <lhh at redhat.com> 2.9.7-8
+* Wed Nov 06 2002 Lon Hohberger <lhh at redhat.com> 2.9.7-8
- Cleaned up warnings on ppc/ia32/ia64.
- Fixed help message.
- Fixed bugs on ia64 and ppc architectures.
More information about the scm-commits
mailing list