summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@imgtec.com>2016-01-28 14:08:35 -0800
committerSteve Ellcey <sellcey@imgtec.com>2016-01-28 14:08:35 -0800
commit4792146a0f20d23be523b5b57be6f037c0c9c00d (patch)
tree2a3bdb6a0ec7c50e66aec0f7df95fd6ca625e43b
parenta710c89dcb160eef714a272cc7610ed697c17369 (diff)
downloadcygnal-4792146a0f20d23be523b5b57be6f037c0c9c00d.tar.gz
cygnal-4792146a0f20d23be523b5b57be6f037c0c9c00d.tar.bz2
cygnal-4792146a0f20d23be523b5b57be6f037c0c9c00d.zip
Fix memcpy bug that reads past end of buffer.
* libc/machine/mips/memcpy.S (memcpy): Fix read past end of input.
-rw-r--r--newlib/libc/machine/mips/memcpy.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/newlib/libc/machine/mips/memcpy.S b/newlib/libc/machine/mips/memcpy.S
index 3130f6e1a..21bd3b4f4 100644
--- a/newlib/libc/machine/mips/memcpy.S
+++ b/newlib/libc/machine/mips/memcpy.S
@@ -581,11 +581,11 @@ L(lastw):
#ifdef USE_DOUBLE
andi t8,a2,3 /* a2 is the remainder past 4 byte chunks. */
beq t8,a2,L(lastb)
+ move a2,t8
lw REG3,0(a1)
sw REG3,0(a0)
PTR_ADDIU a0,a0,4
PTR_ADDIU a1,a1,4
- move a2,t8
#endif
/* Copy the last 8 (or 16) bytes */