diff options
-rw-r--r-- | ext/mcrypt/mcrypt.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/ext/mcrypt/mcrypt.c b/ext/mcrypt/mcrypt.c index d8d7429e6e..055ac6e720 100644 --- a/ext/mcrypt/mcrypt.c +++ b/ext/mcrypt/mcrypt.c @@ -341,7 +341,9 @@ typedef enum { if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &mcryptind) == FAILURE) { \ return; \ } \ - ZEND_FETCH_RESOURCE (pm, php_mcrypt *, mcryptind, -1, "MCrypt", le_mcrypt); + if ((pm = (php_mcrypt *)zend_fetch_resource(Z_RES_P(mcryptind), "MCrypt", le_mcrypt)) == NULL) { \ + RETURN_FALSE; \ + } #define MCRYPT_GET_MODE_DIR_ARGS(DIRECTORY) \ char *dir = NULL; \ @@ -533,7 +535,7 @@ PHP_FUNCTION(mcrypt_module_open) pm = emalloc(sizeof(php_mcrypt)); pm->td = td; pm->init = 0; - ZEND_REGISTER_RESOURCE(return_value, pm, le_mcrypt); + RETURN_RES(zend_register_resource(pm, le_mcrypt)); } } /* }}} */ @@ -554,7 +556,9 @@ PHP_FUNCTION(mcrypt_generic_init) return; } - ZEND_FETCH_RESOURCE(pm, php_mcrypt *, mcryptind, -1, "MCrypt", le_mcrypt); + if ((pm = (php_mcrypt *)zend_fetch_resource(Z_RES_P(mcryptind), "MCrypt", le_mcrypt)) == NULL) { + RETURN_FALSE; + } max_key_size = mcrypt_enc_get_key_size(pm->td); iv_size = mcrypt_enc_get_iv_size(pm->td); @@ -629,7 +633,9 @@ PHP_FUNCTION(mcrypt_generic) return; } - ZEND_FETCH_RESOURCE(pm, php_mcrypt *, mcryptind, -1, "MCrypt", le_mcrypt); + if ((pm = (php_mcrypt *)zend_fetch_resource(Z_RES_P(mcryptind), "MCrypt", le_mcrypt)) == NULL) { + RETURN_FALSE; + } PHP_MCRYPT_INIT_CHECK if (data_len == 0) { @@ -674,7 +680,9 @@ PHP_FUNCTION(mdecrypt_generic) return; } - ZEND_FETCH_RESOURCE(pm, php_mcrypt * , mcryptind, -1, "MCrypt", le_mcrypt); + if ((pm = (php_mcrypt *)zend_fetch_resource(Z_RES_P(mcryptind), "MCrypt", le_mcrypt)) == NULL) { + RETURN_FALSE; + } PHP_MCRYPT_INIT_CHECK if (data_len == 0) { |