From c7f7df5434de4a699fd95a346651cfa3f4ce148c Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Sat, 19 Sep 2015 20:44:38 -0500 Subject: 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(+) create mode 100644 dev-lang/mmix/files/mmix-20131017-format-security.patch (limited to 'dev-lang') 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 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() { -- cgit v1.2.3-65-gdbad