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

Reply via email to