Fredrik Fornwall
8 years ago
2 changed files with 2 additions and 38 deletions
@ -1,36 +0,0 @@ |
|||||
From 003346c450b58a07af9e0061bffb14c287c39be8 Mon Sep 17 00:00:00 2001 |
|
||||
From: Dmitry Stogov <dmitry@zend.com> |
|
||||
Date: Thu, 1 Dec 2016 10:30:02 +0300 |
|
||||
Subject: [PATCH] Simpler overflow check |
|
||||
|
|
||||
---
|
|
||||
ext/opcache/zend_accelerator_module.c | 8 +++----- |
|
||||
1 file changed, 3 insertions(+), 5 deletions(-) |
|
||||
|
|
||||
diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c
|
|
||||
index b6c8e13..cbc3f24 100644
|
|
||||
--- a/ext/opcache/zend_accelerator_module.c
|
|
||||
+++ b/ext/opcache/zend_accelerator_module.c
|
|
||||
@@ -107,8 +107,6 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption)
|
|
||||
#else |
|
||||
char *base = (char *) ts_resource(*((int *) mh_arg2)); |
|
||||
#endif |
|
||||
- zend_long megabyte, overflow;
|
|
||||
- double dummy;
|
|
||||
|
|
||||
/* keep the compiler happy */ |
|
||||
(void)entry; (void)mh_arg2; (void)mh_arg3; (void)stage; |
|
||||
@@ -132,10 +130,10 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption)
|
|
||||
|
|
||||
ini_entry->value = zend_string_init(new_new_value, 1, 1); |
|
||||
} |
|
||||
- megabyte = 1024 * 1024;
|
|
||||
- ZEND_SIGNED_MULTIPLY_LONG(memsize, megabyte, *p, dummy, overflow);
|
|
||||
- if (UNEXPECTED(overflow)) {
|
|
||||
+ if (UNEXPECTED(memsize > ZEND_ULONG_MAX / (1024 * 1024))) {
|
|
||||
*p = ZEND_ULONG_MAX; |
|
||||
+ } else {
|
|
||||
+ *p = memsize * (1024 * 1024);
|
|
||||
} |
|
||||
return SUCCESS; |
|
||||
} |
|
Loading…
Reference in new issue