Mercurial > molko
changeset 630:8d8fe99b357c
core: fix buffer overflow in sndfile
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 27 Aug 2023 11:04:57 +0200 |
parents | fee7bd30725c |
children | bb67f935a93f |
files | libmlk-core/mlk/core/sys.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libmlk-core/mlk/core/sys.c Sat Aug 26 16:09:35 2023 +0200 +++ b/libmlk-core/mlk/core/sys.c Sun Aug 27 11:04:57 2023 +0200 @@ -205,7 +205,7 @@ vio->offset += offset; break; case SEEK_END: - vio->offset = vio->datasz - offset; + vio->offset = vio->datasz + offset; break; default: break; @@ -219,6 +219,9 @@ { struct viodata *vio = data; + if (vio->offset + (size_t)count > vio->datasz) + count = vio->datasz - vio->offset; + memcpy(ptr, vio->data + vio->offset, count); vio->offset += count;