Use stack allocated zvals
authorXinchen Hui <laruence@gmail.com>
Sun, 7 Jan 2018 12:03:49 +0000 (20:03 +0800)
committerXinchen Hui <laruence@gmail.com>
Sun, 7 Jan 2018 12:03:49 +0000 (20:03 +0800)
ext/sqlite3/sqlite3.c
ext/standard/assert.c

index 250e41d8ff2ac55fa140d2fe10bdd0117819bed4..232a56dd4927eb9a46b8cb6da66471bf6b765552 100644 (file)
@@ -858,7 +858,7 @@ static void php_sqlite3_callback_final(sqlite3_context *context) /* {{{ */
 static int php_sqlite3_callback_compare(void *coll, int a_len, const void *a, int b_len, const void* b) /* {{{ */
 {
        php_sqlite3_collation *collation = (php_sqlite3_collation*)coll;
-       zval *zargs = NULL;
+       zval zargs[2];
        zval retval;
        int ret;
 
@@ -868,7 +868,6 @@ static int php_sqlite3_callback_compare(void *coll, int a_len, const void *a, in
        collation->fci.fci.retval = &retval;
        collation->fci.fci.param_count = 2;
 
-       zargs = safe_emalloc(2, sizeof(zval), 0);
        ZVAL_STRINGL(&zargs[0], a, a_len);
        ZVAL_STRINGL(&zargs[1], b, b_len);
 
@@ -885,7 +884,6 @@ static int php_sqlite3_callback_compare(void *coll, int a_len, const void *a, in
 
        zval_ptr_dtor(&zargs[0]);
        zval_ptr_dtor(&zargs[1]);
-       efree(zargs);
 
        if (EG(exception)) {
                ret = 0;
index 1f8a4eff787c6e42cf165301114a8048ef6fc6bd..3cf3a028306f87825595ec51a06c544439622dc5 100644 (file)
@@ -216,7 +216,7 @@ PHP_FUNCTION(assert)
        }
 
        if (Z_TYPE(ASSERTG(callback)) != IS_UNDEF) {
-               zval *args = safe_emalloc(!description ? 3 : 4, sizeof(zval), 0);
+               zval args[4];
                zval retval;
                int i;
                uint32_t lineno = zend_get_executed_lineno();
@@ -242,7 +242,6 @@ PHP_FUNCTION(assert)
                        }
                }
 
-               efree(args);
                zval_ptr_dtor(&retval);
        }