summaryrefslogtreecommitdiffstats
path: root/thirdparty/libwebp/utils/utils.c
diff options
context:
space:
mode:
authorvolzhs <volzhs@gmail.com>2016-12-22 09:54:15 +0900
committervolzhs <volzhs@gmail.com>2016-12-24 00:46:09 +0900
commite04c7e11ec2fabf34aaf515103bc0b6086e1aabd (patch)
tree7e8e1947eb71efe8bf45632610ee2776c9ef0b3e /thirdparty/libwebp/utils/utils.c
parent2c8a1729152f5bcb1cb81d24b1e642634bff7174 (diff)
downloadredot-engine-e04c7e11ec2fabf34aaf515103bc0b6086e1aabd.tar.gz
Update libwebp to 0.5.2
Diffstat (limited to 'thirdparty/libwebp/utils/utils.c')
-rw-r--r--thirdparty/libwebp/utils/utils.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/thirdparty/libwebp/utils/utils.c b/thirdparty/libwebp/utils/utils.c
index 2602ca3c9f..82dbf8d5e5 100644
--- a/thirdparty/libwebp/utils/utils.c
+++ b/thirdparty/libwebp/utils/utils.c
@@ -175,8 +175,12 @@ static int CheckSizeArgumentsOverflow(uint64_t nmemb, size_t size) {
}
#endif
#if defined(MALLOC_LIMIT)
- if (mem_limit > 0 && total_mem + total_size >= mem_limit) {
- return 0; // fake fail!
+ if (mem_limit > 0) {
+ const uint64_t new_total_mem = (uint64_t)total_mem + total_size;
+ if (new_total_mem != (size_t)new_total_mem ||
+ new_total_mem > mem_limit) {
+ return 0; // fake fail!
+ }
}
#endif