diff options
-rw-r--r-- | ext/openssl/openssl.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index bf1f0c51a9..648b110d61 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -5546,6 +5546,11 @@ PHP_FUNCTION(openssl_random_pseudo_bytes) return; } + if (zstrong_result_returned) { + zval_dtor(zstrong_result_returned); + ZVAL_FALSE(zstrong_result_returned); + } + if (buffer_length <= 0 #ifndef PHP_WIN32 || ZEND_LONG_INT_OVFL(buffer_length) @@ -5553,12 +5558,6 @@ PHP_FUNCTION(openssl_random_pseudo_bytes) ) { RETURN_FALSE; } - - if (zstrong_result_returned) { - zval_dtor(zstrong_result_returned); - ZVAL_FALSE(zstrong_result_returned); - } - buffer = zend_string_alloc(buffer_length, 0); #ifdef PHP_WIN32 |