summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Larsson <lukas@erlang.org>2021-08-16 17:10:02 +0200
committerLukas Larsson <lukas@erlang.org>2021-08-17 16:25:40 +0200
commitcf45243ce61fb6f36c8a0ead1adb81bb4e09935c (patch)
tree4c48373ecb40cf05884d27b7b4bc6a41c4b8c1ed
parent7fe7fa3dde556b5b92522f8279d465bb52baf1f6 (diff)
downloaderlang-cf45243ce61fb6f36c8a0ead1adb81bb4e09935c.tar.gz
erts: Fix memcpy buffer overwrite
It is possible for lbuf and lbuf+pos to overlap so use memmove Closes #5116
-rw-r--r--erts/emulator/drivers/unix/ttsl_drv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/drivers/unix/ttsl_drv.c b/erts/emulator/drivers/unix/ttsl_drv.c
index d2a524cb6c..8d2fc06944 100644
--- a/erts/emulator/drivers/unix/ttsl_drv.c
+++ b/erts/emulator/drivers/unix/ttsl_drv.c
@@ -1105,7 +1105,7 @@ static int insert_buf(byte *s, int n)
if (ch == '\n')
outc('\n');
if (llen > lpos) {
- memcpy(lbuf, lbuf + lpos, llen - lpos);
+ memmove(lbuf, lbuf + lpos, llen - lpos);
}
llen -= lpos;
lpos = buffpos = 0;