26 lines
895 B
Diff
26 lines
895 B
Diff
|
From 973cdc889deaae2b97d1bdf9b793b96be02b9b3c Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Jaroslav=20Loba=C4=8Devski?= <jarlob@github.com>
|
||
|
Date: Thu, 19 Oct 2023 16:03:41 +0200
|
||
|
Subject: [PATCH] Fix multi-byte read heap buffer overflow in
|
||
|
stbi__vertical_flip
|
||
|
|
||
|
Fixes #1540
|
||
|
---
|
||
|
stb_image.h | 3 ++-
|
||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/stb_image.h b/stb_image.h
|
||
|
index 5e807a0a6..49c53d092 100644
|
||
|
--- a/stb_image.h
|
||
|
+++ b/stb_image.h
|
||
|
@@ -1447,7 +1447,8 @@ STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int *
|
||
|
|
||
|
result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp);
|
||
|
if (stbi__vertically_flip_on_load) {
|
||
|
- stbi__vertical_flip_slices( result, *x, *y, *z, *comp );
|
||
|
+ int channels = req_comp ? req_comp : *comp;
|
||
|
+ stbi__vertical_flip_slices( result, *x, *y, *z, channels );
|
||
|
}
|
||
|
|
||
|
return result;
|