summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Maier <tamiko@gentoo.org>2015-09-19 20:44:38 -0500
committerMatthias Maier <tamiko@gentoo.org>2015-09-19 20:45:26 -0500
commitc7f7df5434de4a699fd95a346651cfa3f4ce148c (patch)
treef0e8bd5edaf72fe53385c4c3b68b152f77512112 /dev-lang/mmix
parentdev-lang/mmix: Update homepage (diff)
downloadgentoo-c7f7df5434de4a699fd95a346651cfa3f4ce148c.tar.gz
gentoo-c7f7df5434de4a699fd95a346651cfa3f4ce148c.tar.bz2
gentoo-c7f7df5434de4a699fd95a346651cfa3f4ce148c.zip
dev-lang/mmix: Compilation fix for format-security, bug #533694
Gentoo-Bug: 533694 Package-Manager: portage-2.2.20.1
Diffstat (limited to 'dev-lang/mmix')
-rw-r--r--dev-lang/mmix/files/mmix-20131017-format-security.patch59
-rw-r--r--dev-lang/mmix/mmix-20131017.ebuild1
2 files changed, 60 insertions, 0 deletions
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 000000000000..3824765317b9
--- /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 &switchable_string[1]
+@@ -2984,9 +2984,9 @@ void scan_option(arg,usage)
+ fprintf(stderr,
+ "Usage: %s <options> 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 d9c9c76310e0..b233a6793fd7 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() {