diff options
author | neonloop | 2022-03-25 21:29:10 +0000 |
---|---|---|
committer | neonloop | 2022-03-25 21:30:18 +0000 |
commit | 61aab598a031c2ef4023cbcc60d31391f8479c0d (patch) | |
tree | 280fbc8897572ef09b5320ba7a9d8bcccf0457d4 | |
parent | cb4df55984b07f4ca80a6fcf5ddda85cb9f540af (diff) | |
download | picoarch-61aab598a031c2ef4023cbcc60d31391f8479c0d.tar.gz picoarch-61aab598a031c2ef4023cbcc60d31391f8479c0d.tar.bz2 picoarch-61aab598a031c2ef4023cbcc60d31391f8479c0d.zip |
Fixes nearest scaler overrun (thanks shauninman)
-rw-r--r-- | scale.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -108,6 +108,7 @@ static void scale_nearest(unsigned w, unsigned h, size_t pitch, const void *src, int dy = -dst_h; unsigned lines = h; bool copy = false; + size_t cpy_w = dst_w * SCREEN_BPP; dst += dst_offs; @@ -118,7 +119,7 @@ static void scale_nearest(unsigned w, unsigned h, size_t pitch, const void *src, if (copy) { copy = false; - memcpy(dst, dst - SCREEN_PITCH, SCREEN_PITCH); + memcpy(dst, dst - SCREEN_PITCH, cpy_w); dst += SCREEN_PITCH; dy += h; } else if (dy < 0) { |