diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-01-03 20:32:11 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-01-03 20:32:11 -0800 |
commit | 6e799707077193baa008edcb040aadcd913bac90 (patch) | |
tree | dfe4a293a19a7634b80bc5ad6c4f34a2d69fdc83 | |
parent | caa70e42a5e2a6f74a1624900d84c33a3d71a91e (diff) | |
download | syslinux-6e799707077193baa008edcb040aadcd913bac90.tar.gz syslinux-6e799707077193baa008edcb040aadcd913bac90.tar.xz syslinux-6e799707077193baa008edcb040aadcd913bac90.zip |
Fix incorrect handling of overlapping memory areas in bcopy32syslinux-3.55-pre3
bcopy32 had the test for forwards vs. backwards copy backwards, which
of course resulted in disaster when memory areas actually overlapped
themselves.
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | bcopy32.inc | 4 |
2 files changed, 6 insertions, 3 deletions
@@ -10,7 +10,10 @@ Changes in 3.55: but that MAY be reverted in the future if it causes problems. * Documentation text files moved to a common "doc" directory; - man pages from the Debian project added to the "man" directory. + man pages from the Debian project added to the "man" + directory. + * Correct bug with self-overlapping memory areas when using + the shuffle interface. Changes in 3.54: * Add "menu separator", "menu indent", "menu disabled" diff --git a/bcopy32.inc b/bcopy32.inc index 28b70fad..0f01284a 100644 --- a/bcopy32.inc +++ b/bcopy32.inc @@ -135,8 +135,8 @@ bcopy: push eax cmp esi,-1 je .bzero - cmp esi,edi ; If source > destination, we might - ja .reverse ; have to copy backwards + cmp esi,edi ; If source < destination, we might + jb .reverse ; have to copy backwards .forward: mov al,cl ; Save low bits |