summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
memmove(dst, src, 0) leads to overflow in `while(n-- > 0)` as `n` is uint64 (thanks
Matúš Jókay <matus.jokay@stuba.sk>)
Diffstat (limited to 'kernel')
-rw-r--r--kernel/string.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/string.c b/kernel/string.c
index d99e612..153536f 100644
--- a/kernel/string.c
+++ b/kernel/string.c
@@ -33,6 +33,9 @@ memmove(void *dst, const void *src, uint n)
const char *s;
char *d;
+ if(n == 0)
+ return dst;
+
s = src;
d = dst;
if(s < d && s + n > d){