commit: c7f7df5434de4a699fd95a346651cfa3f4ce148c
Author: Matthias Maier gentoo org>
AuthorDate: Sun Sep 20 01:44:38 2015 +
Commit: Matthias Maier gentoo org>
CommitDate: Sun Sep 20 01:45:26 2015 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7f7df54
dev-lang/mmix: Compilation fix for format-security, bug #533694
Gentoo-Bug: 533694
Package-Manager: portage-2.2.20.1
.../mmix/files/mmix-20131017-format-security.patch | 59 ++
dev-lang/mmix/mmix-20131017.ebuild | 1 +
2 files changed, 60 insertions(+)
diff --git a/dev-lang/mmix/files/mmix-20131017-format-security.patch
b/dev-lang/mmix/files/mmix-20131017-format-security.patch
new file mode 100644
index 000..3824765
--- /dev/null
+++ b/dev-lang/mmix/files/mmix-20131017-format-security.patch
@@ -0,0 +1,59 @@
+diff --git a/mmix-pipe.w b/mmix-pipe.w
+index b7f4536..a1a9a48 100644
+--- a/mmix-pipe.w
b/mmix-pipe.w
+@@ -1883,7 +1883,7 @@ static void print_specnode_id(a)
+ octa a;
+ {
+ if (a.h==sign_bit) {
+-if (a.l<32) printf(special_name[a.l]);
++if (a.l<32) fputs(special_name[a.l], stdout);
+ else if (a.l<256) printf("g[%d]",a.l);
+ else printf("l[%d]",a.l-256);
+ }@+else if (a.h!=(tetra)-1) {
+diff --git a/mmix-sim.w b/mmix-sim.w
+index cb6995c..176f60c 100644
+--- a/mmix-sim.w
b/mmix-sim.w
+@@ -2832,7 +2832,7 @@ void trace_print(o)
+ case hex: fputc('#',stdout);@+print_hex(o);@+return;
+ case zhex: printf("%08x%08x",o.h,o.l);@+return;
+ case floating: print_float(o);@+return;
+- case handle:@+if (o.h==0 && o.l<3) printf(stream_name[o.l]);
++ case handle:@+if (o.h==0 && o.l<3) fputs(stream_name[o.l], stdout);
+ else print_int(o);@+return;
+ }
+ }
+@@ -2843,9 +2843,9 @@ case ')': fputc(right_paren[round_mode],stdout);@+break;
+ case 't':@+if (x.l) printf(" Yes, -> #"),print_hex(inst_ptr);
+else printf(" No");@+break;
+ case 'g':@+if (!good) printf(" (bad guess)");@+break;
+-case 's': printf(special_name[zz]);@+break;
++case 's': fputs(special_name[zz], stdout);@+break;
+ case '?': p++;@+if (z.l) printf("%c%d",*p,z.l);@+break;
+-case 'l': printf(lhs);@+break;
++case 'l': fputs(lhs, stdout);@+break;
+ case 'r': p=switchable_string;@+break;
+
+ @ @d rhs _string[1]
+@@ -2984,9 +2984,9 @@ void scan_option(arg,usage)
+ fprintf(stderr,
+ "Usage: %s progfile command line-args...\n",myself);
+ @.Usage: ...@>
+-for (k=0;usage_help[k][0];k++) fprintf(stderr,usage_help[k]);
++for (k=0;usage_help[k][0];k++) fputs(usage_help[k], stderr);
+ exit(-1);
+- }@+else@+ for (k=0;usage_help[k][1]!='b';k++) printf(usage_help[k]);
++ }@+else@+ for (k=0;usage_help[k][1]!='b';k++) fputs(usage_help[k], stdout);
+ return;
+ }
+ }
+@@ -3090,7 +3090,7 @@ void catchint(n)
+ printf("Eh? Sorry, I don't understand `%s'. (Type h for help)\n",
+ command_buf);
+ goto interact;
+- case 'h':@+ for (k=0;interactive_help[k][0];k++)
printf(interactive_help[k]);
++ case 'h':@+ for (k=0;interactive_help[k][0];k++) fputs(interactive_help[k],
stdout);
+ goto interact;
+ }
+ check_syntax:@+ if (*p!='\n') {
diff --git a/dev-lang/mmix/mmix-20131017.ebuild
b/dev-lang/mmix/mmix-20131017.ebuild
index d9c9c76..b233a67 100644
--- a/dev-lang/mmix/mmix-20131017.ebuild
+++ b/dev-lang/mmix/mmix-20131017.ebuild
@@ -25,6 +25,7 @@ S="${WORKDIR}"
src_prepare() {
epatch "${FILESDIR}"/${PN}-20110420-makefile.patch
+ epatch "${FILESDIR}"/${PN}-20131017-format-security.patch
}
src_compile() {