Bugfix: correctly cope with end > 0xfffe.

diff --git a/memory/local.c b/memory/local.c
index eed1a4b..607e7b6 100644
--- a/memory/local.c
+++ b/memory/local.c
@@ -355,6 +355,7 @@
 
         DWORD size = GlobalSize16( GlobalHandle16( selector ) );
 	start = (WORD)(size > 0xffff ? 0xffff : size) - 1;
+        if ( end > 0xfffe ) end = 0xfffe;
         start -= end;
         end += start;