diff --git a/Kernel/lib.c b/Kernel/lib.c index 4d65108a24918473de524516d98df6b44381acfc..6263dc8ae00db17df6fe64c30b54fdbb234e218a 100644 --- a/Kernel/lib.c +++ b/Kernel/lib.c @@ -966,6 +966,10 @@ void *memmove(void *__dest, const void *__src, size_t len) if( (tVAddr)dest + len < (tVAddr)src ) return memcpy(dest, src, len); + // NOTE: Assumes memcpy works forward + if( (tVAddr)dest < (tVAddr)src ) + return memcpy(dest, src, len); + if( (tVAddr)dest < (tVAddr)src ) block_size = (tVAddr)src - (tVAddr)dest; else