From 187d7f05c2529779006840e34cbd9de4faabb229 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 24 Jun 2020 13:06:01 +0200 Subject: [PATCH] Fix potential use-after-scope if crypt_r is used --- ext/standard/crypt.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index 6188dc2920..18839624d4 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -181,17 +181,15 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch #else # if defined(HAVE_CRYPT_R) && (defined(_REENTRANT) || defined(_THREAD_SAFE)) - { # if defined(CRYPT_R_STRUCT_CRYPT_DATA) - struct crypt_data buffer; - memset(&buffer, 0, sizeof(buffer)); + struct crypt_data buffer; + memset(&buffer, 0, sizeof(buffer)); # elif defined(CRYPT_R_CRYPTD) - CRYPTD buffer; + CRYPTD buffer; # else # error Data struct used by crypt_r() is unknown. Please report. # endif - crypt_res = crypt_r(password, salt, &buffer); - } + crypt_res = crypt_r(password, salt, &buffer); # elif defined(HAVE_CRYPT) crypt_res = crypt(password, salt); # else -- 2.50.1