tags 583591 + fixed-upstream thanks the patch attached is the relevant fix from upstream [0], [1].
[0] http://sourceware.org/ml/binutils-cvs/2010-08/msg00152.html [1] http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-m68hc11.c.diff?cvsroot=src&r1=1.58&r2=1.59 Sebastian
>From 726036eda8339913748728a5f1b627811d0b2f43 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc> Date: Thu, 26 Aug 2010 21:52:56 +0200 Subject: [PATCH] Add patch for BTS #583591 Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc> --- debian/patches/03_BTS_583591.patch | 42 ++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) create mode 100644 debian/patches/03_BTS_583591.patch diff --git a/debian/patches/03_BTS_583591.patch b/debian/patches/03_BTS_583591.patch new file mode 100644 index 0000000..ad6edca --- /dev/null +++ b/debian/patches/03_BTS_583591.patch @@ -0,0 +1,42 @@ +From 408686ebf47d14d43842ab74cd6c300c0204fe25 Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior <sebast...@breakpoint.cc> +Date: Thu, 26 Aug 2010 21:44:52 +0200 +Subject: [PATCH] config/tc-m68hc11.c: overflow fix + +"backport" of upstream commit done by Alan Modra: + + * config/tc-m68hc11.c (md_assemble): Correctly detect + overflow of "name" buffer. + +only for the relevant file. + +http://sourceware.org/ml/binutils-cvs/2010-08/msg00152.html +http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-m68hc11.c.diff?cvsroot=src&r1=1.58&r2=1.59 + +Signed-off-by: Sebastian Andrzej Siewior <sebast...@breakpoint.cc> +--- + binutils-2.18/gas/config/tc-m68hc11.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/binutils-2.18/gas/config/tc-m68hc11.c b/binutils-2.18/gas/config/tc-m68hc11.c +index dcd1ce6..cc4de47 100644 +--- binutils-2.18/gas/config/tc-m68hc11.c ++++ binutils-2.18/gas/config/tc-m68hc11.c +@@ -2468,11 +2468,13 @@ md_assemble (char *str) + /* Find the opcode end and get the opcode in 'name'. The opcode is forced + lower case (the opcode table only has lower case op-codes). */ + for (op_start = op_end = (unsigned char *) str; +- *op_end && nlen < 20 && !is_end_of_line[*op_end] && *op_end != ' '; ++ *op_end && !is_end_of_line[*op_end] && *op_end != ' '; + op_end++) + { + name[nlen] = TOLOWER (op_start[nlen]); + nlen++; ++ if (nlen == sizeof (name) - 1) ++ break; + } + name[nlen] = 0; + +-- +1.7.1 + -- 1.7.1