Commit 4195fc4ea06 for php.net

commit 4195fc4ea066c6020b5cb8b50e8ad5b531bc24fd
Author: Gina Peter Banyard <girgias@php.net>
Date:   Tue Apr 21 22:33:22 2026 +0100

    ext/phar: no longer assign to variables in if conditions

    To increase legibility

diff --git a/ext/phar/dirstream.c b/ext/phar/dirstream.c
index 64cace88992..097272a9784 100644
--- a/ext/phar/dirstream.c
+++ b/ext/phar/dirstream.c
@@ -247,11 +247,11 @@ static php_stream *phar_make_dirstream(const char *dir, size_t dirlen, const Has
  */
 php_stream *phar_wrapper_open_dir(php_stream_wrapper *wrapper, const char *path, const char *mode, int options, zend_string **opened_path, php_stream_context *context STREAMS_DC) /* {{{ */
 {
-	php_url *resource = NULL;
 	char *error;
 	phar_archive_data *phar;

-	if ((resource = phar_parse_url(wrapper, path, mode, options)) == NULL) {
+	php_url *resource = phar_parse_url(wrapper, path, mode, options);
+	if (!resource) {
 		php_stream_wrapper_log_error(wrapper, options, "phar url \"%s\" is unknown", path);
 		return NULL;
 	}
@@ -343,7 +343,7 @@ php_stream *phar_wrapper_open_dir(php_stream_wrapper *wrapper, const char *path,
  */
 int phar_wrapper_mkdir(php_stream_wrapper *wrapper, const char *url_from, int mode, int options, php_stream_context *context) /* {{{ */
 {
-	phar_entry_info entry, *e;
+	phar_entry_info entry;
 	phar_archive_data *phar = NULL;
 	char *error;
 	php_url *resource = NULL;
@@ -390,7 +390,8 @@ int phar_wrapper_mkdir(php_stream_wrapper *wrapper, const char *url_from, int mo
 		return 0;
 	}

-	if ((e = phar_get_entry_info_dir(phar, ZSTR_VAL(resource->path) + 1, ZSTR_LEN(resource->path) - 1, 2, &error, true))) {
+	phar_entry_info *e = phar_get_entry_info_dir(phar, ZSTR_VAL(resource->path) + 1, ZSTR_LEN(resource->path) - 1, 2, &error, true);
+	if (e) {
 		/* directory exists, or is a subdirectory of an existing file */
 		if (e->is_temp_dir) {
 			zend_string_efree(e->filename);
@@ -444,7 +445,8 @@ int phar_wrapper_mkdir(php_stream_wrapper *wrapper, const char *url_from, int mo
 	entry.flags = PHAR_ENT_PERM_DEF_DIR;
 	entry.old_flags = PHAR_ENT_PERM_DEF_DIR;

-	if (NULL == zend_hash_add_mem(&phar->manifest, entry.filename, &entry, sizeof(phar_entry_info))) {
+	void *had_been_added = zend_hash_add_mem(&phar->manifest, entry.filename, &entry, sizeof(phar_entry_info));
+	if (!had_been_added) {
 		php_stream_wrapper_log_error(wrapper, options, "phar error: cannot create directory \"%s\" in phar \"%s\", adding to manifest failed", ZSTR_VAL(entry.filename), phar->fname);
 		zend_string_efree(entry.filename);
 		return 0;
@@ -469,10 +471,8 @@ int phar_wrapper_mkdir(php_stream_wrapper *wrapper, const char *url_from, int mo
  */
 int phar_wrapper_rmdir(php_stream_wrapper *wrapper, const char *url, int options, php_stream_context *context) /* {{{ */
 {
-	phar_entry_info *entry;
 	phar_archive_data *phar = NULL;
 	char *error;
-	php_url *resource = NULL;

 	/* pre-readonly check, we need to know if this is a data phar */
 	zend_string *arch = phar_split_fname(url, strlen(url), NULL, 2, 2);
@@ -492,7 +492,8 @@ int phar_wrapper_rmdir(php_stream_wrapper *wrapper, const char *url, int options
 		return 0;
 	}

-	if ((resource = phar_parse_url(wrapper, url, "w", options)) == NULL) {
+	php_url *resource = phar_parse_url(wrapper, url, "w", options);
+	if (!resource) {
 		return 0;
 	}

@@ -518,7 +519,8 @@ int phar_wrapper_rmdir(php_stream_wrapper *wrapper, const char *url, int options

 	size_t path_len = ZSTR_LEN(resource->path) - 1;

-	if (!(entry = phar_get_entry_info_dir(phar, ZSTR_VAL(resource->path) + 1, path_len, 2, &error, true))) {
+	phar_entry_info *entry = phar_get_entry_info_dir(phar, ZSTR_VAL(resource->path) + 1, path_len, 2, &error, true);
+	if (!entry) {
 		if (error) {
 			php_stream_wrapper_log_error(wrapper, options, "phar error: cannot remove directory \"%s\" in phar \"%s\", %s", ZSTR_VAL(resource->path)+1, ZSTR_VAL(resource->host), error);
 			efree(error);
diff --git a/ext/phar/func_interceptors.c b/ext/phar/func_interceptors.c
index 129714e2f87..a3a0590f94c 100644
--- a/ext/phar/func_interceptors.c
+++ b/ext/phar/func_interceptors.c
@@ -106,7 +106,8 @@ static zend_string* phar_get_name_for_relative_paths(zend_string *filename, bool

 	zend_string *name = NULL;
 	if (using_include_path) {
-		if (!(name = phar_find_in_include_path(filename, NULL))) {
+		name = phar_find_in_include_path(filename, NULL);
+		if (!name) {
 			/* this file is not in the phar, use the original path */
 			zend_string_release_ex(arch, false);
 			return NULL;
@@ -841,7 +842,8 @@ void phar_release_functions(void)
 /* {{{ void phar_intercept_functions_init(void) */
 #define PHAR_INTERCEPT(func) \
 	PHAR_G(orig_##func) = NULL; \
-	if (NULL != (orig = zend_hash_str_find_ptr(CG(function_table), #func, sizeof(#func)-1))) { \
+	orig = zend_hash_str_find_ptr(CG(function_table), #func, sizeof(#func)-1); \
+	if (orig) { \
 		PHAR_G(orig_##func) = orig->internal_function.handler; \
 		orig->internal_function.handler = PHP_FN(phar_##func); \
 	}
diff --git a/ext/phar/phar.c b/ext/phar/phar.c
index 639ada54e94..b0d56c8067e 100644
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@ -1263,7 +1263,8 @@ static zend_result phar_parse_pharfile(php_stream *fp, char *fname, size_t fname
 			MAPPHAR_FAIL("Cannot open archive \"%s\", invalid alias");
 		}

-		if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len))) {
+		fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len);
+		if (fd_ptr) {
 			if (SUCCESS != phar_free_alias(fd_ptr)) {
 				signature = NULL;
 				fp = NULL;
@@ -1460,10 +1461,9 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 7, 8) zend_result phar_create_or_parse_filename(c
 		/* assume tar format, PharData can specify other */
 		mydata->is_tar = 1;
 	} else {
-		phar_archive_data *fd_ptr;
-
-		if (alias && NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len))) {
-			if (SUCCESS != phar_free_alias(fd_ptr)) {
+		if (alias) {
+			const phar_archive_data *fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len);
+			if (fd_ptr && SUCCESS != phar_free_alias(fd_ptr)) {
 				spprintf(error, 4096, "phar error: phar \"%s\" cannot set alias \"%s\", already in use by another phar archive", mydata->fname, alias);

 				zend_hash_str_del(&(PHAR_G(phar_fname_map)), mydata->fname, fname_len);
@@ -1669,14 +1669,14 @@ static zend_result phar_open_from_fp(php_stream* fp, char *fname, size_t fname_l
 				continue;
 			} else if (!memcmp(pos, bz_magic, 3)) {
 				php_stream_filter *filter;
-				php_stream *temp;

 				if (!PHAR_G(has_bz2)) {
 					MAPPHAR_ALLOC_FAIL("unable to decompress bzipped phar archive \"%s\" to temporary file, enable bz2 extension in php.ini")
 				}

 				/* entire file is bzip-compressed, uncompress to temporary file */
-				if (!(temp = php_stream_fopen_tmpfile())) {
+				php_stream *temp = php_stream_fopen_tmpfile();
+				if (!temp) {
 					MAPPHAR_ALLOC_FAIL("unable to create temporary file for decompression of bzipped phar archive \"%s\"")
 				}

@@ -1750,10 +1750,10 @@ static zend_result phar_open_from_fp(php_stream* fp, char *fname, size_t fname_l
 static zend_result phar_analyze_path(const char *fname, const char *ext, size_t ext_len, int for_create) /* {{{ */
 {
 	php_stream_statbuf ssb;
-	char *realpath;
 	char *filename = estrndup(fname, (ext - fname) + ext_len);

-	if ((realpath = expand_filepath(filename, NULL))) {
+	char *realpath = expand_filepath(filename, NULL);
+	if (realpath) {
 #ifdef PHP_WIN32
 		phar_unixify_path_separators(realpath, strlen(realpath));
 #endif
@@ -1800,7 +1800,8 @@ static zend_result phar_analyze_path(const char *fname, const char *ext, size_t

 		if (SUCCESS != php_stream_stat_path((char *) filename, &ssb)) {
 			if (!slash) {
-				if (!(realpath = expand_filepath(filename, NULL))) {
+				realpath = expand_filepath(filename, NULL);
+				if (!realpath) {
 					efree(filename);
 					return FAILURE;
 				}
@@ -1943,7 +1944,8 @@ zend_result phar_detect_phar_fname_ext(const char *filename, size_t filename_len
 		phar_archive_data *pphar;

 		if (is_complete) {
-			if (NULL != (pphar = zend_hash_str_find_ptr(&(PHAR_G(phar_fname_map)), (char *) filename, filename_len))) {
+			pphar = zend_hash_str_find_ptr(&(PHAR_G(phar_fname_map)), filename, filename_len);
+			if (pphar) {
 				*ext_str = filename + (filename_len - pphar->ext_len);
 woohoo:
 				*ext_len = pphar->ext_len;
@@ -1963,7 +1965,8 @@ zend_result phar_detect_phar_fname_ext(const char *filename, size_t filename_len
 				return FAILURE;
 			}

-			if (PHAR_G(manifest_cached) && NULL != (pphar = zend_hash_str_find_ptr(&cached_phars, (char *) filename, filename_len))) {
+			pphar = PHAR_G(manifest_cached) ? zend_hash_str_find_ptr(&cached_phars, filename, filename_len) : NULL;
+			if (pphar) {
 				*ext_str = filename + (filename_len - pphar->ext_len);
 				goto woohoo;
 			}
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index 54fb674d0e6..811a27e7931 100644
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -44,7 +44,6 @@ static zend_class_entry *phar_ce_entry;

 static int phar_file_type(const HashTable *mimes, const char *file, char **mime_type) /* {{{ */
 {
-	phar_mime_type *mime;
 	const char *ext = strrchr(file, '.');
 	if (!ext) {
 		*mime_type = "text/plain";
@@ -52,7 +51,9 @@ static int phar_file_type(const HashTable *mimes, const char *file, char **mime_
 		return PHAR_MIME_OTHER;
 	}
 	++ext;
-	if (NULL == (mime = zend_hash_str_find_ptr(mimes, ext, strlen(ext)))) {
+
+	phar_mime_type *mime = zend_hash_str_find_ptr(mimes, ext, strlen(ext));
+	if (!mime) {
 		*mime_type = "application/octet-stream";
 		return PHAR_MIME_OTHER;
 	}
@@ -64,7 +65,6 @@ static int phar_file_type(const HashTable *mimes, const char *file, char **mime_
 static void phar_mung_server_vars(char *fname, char *entry, size_t entry_len, const char *basename, size_t request_uri_len) /* {{{ */
 {
 	HashTable *_SERVER;
-	zval *stuff;
 	char *path_info;
 	size_t basename_len = strlen(basename);
 	size_t code;
@@ -78,23 +78,25 @@ static void phar_mung_server_vars(char *fname, char *entry, size_t entry_len, co
 	_SERVER = Z_ARRVAL(PG(http_globals)[TRACK_VARS_SERVER]);

 	/* PATH_INFO and PATH_TRANSLATED should always be munged */
-	if (NULL != (stuff = zend_hash_str_find(_SERVER, "PATH_INFO", sizeof("PATH_INFO")-1))) {
+	zval *stuff = zend_hash_str_find(_SERVER, ZEND_STRL("PATH_INFO"));
+	if (stuff) {
 		path_info = Z_STRVAL_P(stuff);
 		code = Z_STRLEN_P(stuff);
 		if (code > (size_t)entry_len && !memcmp(path_info, entry, entry_len)) {
 			ZVAL_STR(&temp, Z_STR_P(stuff));
 			ZVAL_STRINGL(stuff, path_info + entry_len, request_uri_len);
-			zend_hash_str_update(_SERVER, "PHAR_PATH_INFO", sizeof("PHAR_PATH_INFO")-1, &temp);
+			zend_hash_str_update(_SERVER, ZEND_STRL("PHAR_PATH_INFO"), &temp);
 		}
 	}

-	if (NULL != (stuff = zend_hash_str_find(_SERVER, "PATH_TRANSLATED", sizeof("PATH_TRANSLATED")-1))) {
+	stuff = zend_hash_str_find(_SERVER, ZEND_STRL("PATH_TRANSLATED"));
+	if (stuff) {
 		zend_string *str = strpprintf(4096, "phar://%s%s", fname, entry);

 		ZVAL_STR(&temp, Z_STR_P(stuff));
 		ZVAL_NEW_STR(stuff, str);

-		zend_hash_str_update(_SERVER, "PHAR_PATH_TRANSLATED", sizeof("PHAR_PATH_TRANSLATED")-1, &temp);
+		zend_hash_str_update(_SERVER, ZEND_STRL("PHAR_PATH_TRANSLATED"), &temp);
 	}

 	if (!PHAR_G(phar_SERVER_mung_list)) {
@@ -102,46 +104,50 @@ static void phar_mung_server_vars(char *fname, char *entry, size_t entry_len, co
 	}

 	if (PHAR_G(phar_SERVER_mung_list) & PHAR_MUNG_REQUEST_URI) {
-		if (NULL != (stuff = zend_hash_str_find(_SERVER, "REQUEST_URI", sizeof("REQUEST_URI")-1))) {
+		stuff = zend_hash_str_find(_SERVER, ZEND_STRL("REQUEST_URI"));
+		if (stuff) {
 			path_info = Z_STRVAL_P(stuff);
 			code = Z_STRLEN_P(stuff);
 			if (code > basename_len && !memcmp(path_info, basename, basename_len)) {
 				ZVAL_STR(&temp, Z_STR_P(stuff));
 				ZVAL_STRINGL(stuff, path_info + basename_len, code - basename_len);
-				zend_hash_str_update(_SERVER, "PHAR_REQUEST_URI", sizeof("PHAR_REQUEST_URI")-1, &temp);
+				zend_hash_str_update(_SERVER, ZEND_STRL("PHAR_REQUEST_URI"), &temp);
 			}
 		}
 	}

 	if (PHAR_G(phar_SERVER_mung_list) & PHAR_MUNG_PHP_SELF) {
-		if (NULL != (stuff = zend_hash_str_find(_SERVER, "PHP_SELF", sizeof("PHP_SELF")-1))) {
+		stuff = zend_hash_str_find(_SERVER, ZEND_STRL("PHP_SELF"));
+		if (stuff) {
 			path_info = Z_STRVAL_P(stuff);
 			code = Z_STRLEN_P(stuff);

 			if (code > basename_len && !memcmp(path_info, basename, basename_len)) {
 				ZVAL_STR(&temp, Z_STR_P(stuff));
 				ZVAL_STRINGL(stuff, path_info + basename_len, code - basename_len);
-				zend_hash_str_update(_SERVER, "PHAR_PHP_SELF", sizeof("PHAR_PHP_SELF")-1, &temp);
+				zend_hash_str_update(_SERVER, ZEND_STRL("PHAR_PHP_SELF"), &temp);
 			}
 		}
 	}

 	if (PHAR_G(phar_SERVER_mung_list) & PHAR_MUNG_SCRIPT_NAME) {
-		if (NULL != (stuff = zend_hash_str_find(_SERVER, "SCRIPT_NAME", sizeof("SCRIPT_NAME")-1))) {
+		stuff = zend_hash_str_find(_SERVER, ZEND_STRL("SCRIPT_NAME"));
+		if (stuff) {
 			ZVAL_STR(&temp, Z_STR_P(stuff));
 			ZVAL_STRINGL(stuff, entry, entry_len);
-			zend_hash_str_update(_SERVER, "PHAR_SCRIPT_NAME", sizeof("PHAR_SCRIPT_NAME")-1, &temp);
+			zend_hash_str_update(_SERVER, ZEND_STRL("PHAR_SCRIPT_NAME"), &temp);
 		}
 	}

 	if (PHAR_G(phar_SERVER_mung_list) & PHAR_MUNG_SCRIPT_FILENAME) {
-		if (NULL != (stuff = zend_hash_str_find(_SERVER, "SCRIPT_FILENAME", sizeof("SCRIPT_FILENAME")-1))) {
+		stuff = zend_hash_str_find(_SERVER, ZEND_STRL("SCRIPT_FILENAME"));
+		if (stuff) {
 			zend_string *str = strpprintf(4096, "phar://%s%s", fname, entry);

 			ZVAL_STR(&temp, Z_STR_P(stuff));
 			ZVAL_NEW_STR(stuff, str);

-			zend_hash_str_update(_SERVER, "PHAR_SCRIPT_FILENAME", sizeof("PHAR_SCRIPT_FILENAME")-1, &temp);
+			zend_hash_str_update(_SERVER, ZEND_STRL("PHAR_SCRIPT_FILENAME"), &temp);
 		}
 	}
 }
@@ -478,7 +484,8 @@ PHP_METHOD(Phar, mount)
 			goto finish;
 		}
 carry_on2:
-		if (NULL == (pphar = zend_hash_find_ptr(&(PHAR_G(phar_fname_map)), arch))) {
+		pphar = zend_hash_find_ptr(&(PHAR_G(phar_fname_map)), arch);
+		if (!pphar) {
 			if (PHAR_G(manifest_cached) && NULL != (pphar = zend_hash_find_ptr(&cached_phars, arch))) {
 				if (SUCCESS == phar_copy_on_write(&pphar)) {
 					goto carry_on;
@@ -641,7 +648,9 @@ PHP_METHOD(Phar, webPhar)
 			if (!testit) {
 				goto finish;
 			}
-			if (!(pt = strstr(testit, basename))) {
+
+			pt = strstr(testit, basename);
+			if (!pt) {
 				efree(testit);
 				goto finish;
 			}
@@ -667,7 +676,8 @@ PHP_METHOD(Phar, webPhar)
 	} else {
 		path_info = SG(request_info).request_uri;

-		if (!(pt = strstr(path_info, basename))) {
+		pt = strstr(path_info, basename);
+		if (!pt) {
 			/* this can happen with rewrite rules - and we have no idea what to do then, so return */
 			goto finish;
 		}
@@ -1625,7 +1635,8 @@ static int phar_build(zend_object_iterator *iter, void *puser) /* {{{ */
 		return ZEND_HASH_APPLY_KEEP;
 	}

-	if (!(data = phar_build_entry_data(phar_obj->archive->fname, phar_obj->archive->fname_len, str_key, str_key_len, &error, value))) {
+	data = phar_build_entry_data(phar_obj->archive->fname, phar_obj->archive->fname_len, str_key, str_key_len, &error, value);
+	if (!data) {
 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0, "Entry %s cannot be created: %s", str_key, error);
 		efree(error);

@@ -1936,7 +1947,6 @@ static zend_result phar_copy_file_contents(phar_entry_info *entry, php_stream *f

 static zend_object *phar_rename_archive(phar_archive_data **sphar, char *ext) /* {{{ */
 {
-	const char *oldname = NULL;
 	phar_archive_data *phar = *sphar;
 	char *oldpath = NULL;
 	char *basename = NULL, *basepath = NULL;
@@ -1946,7 +1956,7 @@ static zend_object *phar_rename_archive(phar_archive_data **sphar, char *ext) /*
 	char *error = NULL;
 	const char *pcr_error;
 	size_t ext_len = ext ? strlen(ext) : 0;
-	size_t new_len, oldname_len, phar_ext_len;
+	size_t new_len, phar_ext_len;
 	phar_archive_data *pphar = NULL;
 	php_stream_statbuf ssb;

@@ -2027,25 +2037,27 @@ static zend_object *phar_rename_archive(phar_archive_data **sphar, char *ext) /*


 	oldpath = estrndup(phar->fname, phar->fname_len);
-	if ((oldname = zend_memrchr(phar->fname, '/', phar->fname_len))) {
-		++oldname;
+
+	const char *old_name = zend_memrchr(phar->fname, '/', phar->fname_len);
+	if (old_name) {
+		++old_name;
 	} else {
-		oldname = phar->fname;
+		old_name = phar->fname;
 	}

-	oldname_len = strlen(oldname);
+	size_t old_name_len = strlen(old_name);
 	/* Copy the old name to create base for the new name */
-	basename = estrndup(oldname, oldname_len);
+	basename = estrndup(old_name, old_name_len);

 	phar_ext_list_len = sizeof(phar_ext_list)/sizeof(phar_ext_list[0]);
 	/* Remove possible PHAR extensions */
 	/* phar_ext_list must be in order of longest extension to shortest */
 	for (i=0; i < phar_ext_list_len; i++) {
 		phar_ext_len = strlen(phar_ext_list[i]);
-		if (phar_ext_len && oldname_len > phar_ext_len) {
+		if (phar_ext_len && old_name_len > phar_ext_len) {
 			/* Check if the basename strings ends with the extension */
-			if (memcmp(phar_ext_list[i], basename + (oldname_len - phar_ext_len), phar_ext_len) == 0) {
-				ext_pos = basename + (oldname_len - phar_ext_len);
+			if (memcmp(phar_ext_list[i], basename + (old_name_len - phar_ext_len), phar_ext_len) == 0) {
+				ext_pos = basename + (old_name_len - phar_ext_len);
 				ext_pos[0] = '\0';
 				break;
 			}
@@ -2069,7 +2081,7 @@ static zend_object *phar_rename_archive(phar_archive_data **sphar, char *ext) /*
 	spprintf(&newname, 0, "%s.%s", basename, ext);
 	efree(basename);

-	basepath = estrndup(oldpath, (strlen(oldpath) - oldname_len));
+	basepath = estrndup(oldpath, (strlen(oldpath) - old_name_len));
 	new_len = spprintf(&newpath, 0, "%s%s", basepath, newname);
 	phar->fname_len = new_len;
 	phar->fname = newpath;
@@ -3379,7 +3391,7 @@ PHP_METHOD(Phar, copy)
 {
 	char *error;
 	const char *pcr_error;
-	phar_entry_info *oldentry, newentry = {0}, *temp;
+	phar_entry_info newentry = {0};
 	zend_string *new_file = NULL;
 	zend_string *old_file = NULL;

@@ -3409,13 +3421,15 @@ PHP_METHOD(Phar, copy)
 		RETURN_THROWS();
 	}

-	if (NULL == (oldentry = zend_hash_find_ptr(&phar_obj->archive->manifest, old_file)) || oldentry->is_deleted) {
+	phar_entry_info *oldentry = zend_hash_find_ptr(&phar_obj->archive->manifest, old_file);
+	if (!oldentry || oldentry->is_deleted) {
 		zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0,
 			"file \"%s\" cannot be copied to file \"%s\", file does not exist in %s", ZSTR_VAL(old_file), ZSTR_VAL(new_file), phar_obj->archive->fname);
 		RETURN_THROWS();
 	}

-	if (NULL != (temp = zend_hash_find_ptr(&phar_obj->archive->manifest, new_file)) && !temp->is_deleted) {
+	const phar_entry_info *temp = zend_hash_find_ptr(&phar_obj->archive->manifest, new_file);
+	if (temp && !temp->is_deleted) {
 		zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0,
 			"file \"%s\" cannot be copied to file \"%s\", file must not already exist in phar %s", ZSTR_VAL(old_file), ZSTR_VAL(new_file), phar_obj->archive->fname);
 		RETURN_THROWS();
@@ -3502,7 +3516,6 @@ PHP_METHOD(Phar, offsetExists)
 PHP_METHOD(Phar, offsetGet)
 {
 	char *error;
-	phar_entry_info *entry;
 	zend_string *file_name = NULL;

 	if (zend_parse_parameters(ZEND_NUM_ARGS(), "P", &file_name) == FAILURE) {
@@ -3512,7 +3525,8 @@ PHP_METHOD(Phar, offsetGet)
 	PHAR_ARCHIVE_OBJECT();

 	/* security is 0 here so that we can get a better error message than "entry doesn't exist" */
-	if (!(entry = phar_get_entry_info_dir(phar_obj->archive, ZSTR_VAL(file_name), ZSTR_LEN(file_name), 1, &error, false))) {
+	phar_entry_info *entry = phar_get_entry_info_dir(phar_obj->archive, ZSTR_VAL(file_name), ZSTR_LEN(file_name), 1, &error, false);
+	if (!entry) {
 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0, "Entry %s does not exist%s%s", ZSTR_VAL(file_name), error?", ":"", error?error:"");
 	} else {
 		if (entry->is_temp_dir) {
@@ -3553,7 +3567,6 @@ PHP_METHOD(Phar, offsetGet)
 static void phar_add_file(phar_archive_data **pphar, zend_string *file_name, const zend_string *content, zval *zresource)
 {
 	char *error;
-	phar_entry_data *data;
 	php_stream *contents_file = NULL;
 	php_stream_statbuf ssb;
 #ifdef PHP_WIN32
@@ -3585,7 +3598,8 @@ static void phar_add_file(phar_archive_data **pphar, zend_string *file_name, con
 	}
 #endif

-	if (!(data = phar_get_or_create_entry_data((*pphar)->fname, (*pphar)->fname_len, filename, filename_len, "w+b", 0, &error, true, time(NULL)))) {
+	phar_entry_data *data = phar_get_or_create_entry_data((*pphar)->fname, (*pphar)->fname_len, filename, filename_len, "w+b", 0, &error, true, time(NULL));
+	if (!data) {
 		if (error) {
 			zend_throw_exception_ex(spl_ce_BadMethodCallException, 0, "Entry %s does not exist and cannot be created: %s", filename, error);
 			efree(error);
@@ -3657,9 +3671,9 @@ finish: ;
 static void phar_mkdir(phar_archive_data **pphar, zend_string *dir_name)
 {
 	char *error;
-	phar_entry_data *data;
+	phar_entry_data *data = phar_get_or_create_entry_data((*pphar)->fname, (*pphar)->fname_len, ZSTR_VAL(dir_name), ZSTR_LEN(dir_name), "w+b", 2, &error, true, time(NULL));

-	if (!(data = phar_get_or_create_entry_data((*pphar)->fname, (*pphar)->fname_len, ZSTR_VAL(dir_name), ZSTR_LEN(dir_name), "w+b", 2, &error, true, time(NULL)))) {
+	if (!data) {
 		if (error) {
 			zend_throw_exception_ex(spl_ce_BadMethodCallException, 0, "Directory %s does not exist and cannot be created: %s", ZSTR_VAL(dir_name), error);
 			efree(error);
@@ -3731,7 +3745,6 @@ PHP_METHOD(Phar, offsetUnset)
 {
 	char *error;
 	zend_string *file_name;
-	phar_entry_info *entry;

 	if (zend_parse_parameters(ZEND_NUM_ARGS(), "P", &file_name) == FAILURE) {
 		RETURN_THROWS();
@@ -3745,7 +3758,8 @@ PHP_METHOD(Phar, offsetUnset)
 	}

 	if (zend_hash_exists(&phar_obj->archive->manifest, file_name)) {
-		if (NULL != (entry = zend_hash_find_ptr(&phar_obj->archive->manifest, file_name))) {
+		phar_entry_info *entry = zend_hash_find_ptr(&phar_obj->archive->manifest, file_name);
+		if (entry) {
 			if (entry->is_deleted) {
 				/* entry is deleted, but has not been flushed to disk yet */
 				return;
@@ -3798,7 +3812,6 @@ PHP_METHOD(Phar, addFile)
 {
 	zend_string *file_name;
 	zend_string *local_name = NULL;
-	php_stream *resource;
 	zval zresource;

 	if (zend_parse_parameters(ZEND_NUM_ARGS(), "P|S!", &file_name, &local_name) == FAILURE) {
@@ -3812,7 +3825,8 @@ PHP_METHOD(Phar, addFile)
 		RETURN_THROWS();
 	}

-	if (!(resource = php_stream_open_wrapper(ZSTR_VAL(file_name), "rb", 0, NULL))) {
+	php_stream *resource = php_stream_open_wrapper(ZSTR_VAL(file_name), "rb", 0, NULL);
+	if (!resource) {
 		zend_throw_exception_ex(spl_ce_RuntimeException, 0, "phar error: unable to open file \"%s\" to add to phar archive", ZSTR_VAL(file_name));
 		RETURN_THROWS();
 	}
@@ -3850,19 +3864,20 @@ PHP_METHOD(Phar, getStub)
 	zend_string *buf;
 	php_stream *fp;
 	php_stream_filter *filter = NULL;
-	phar_entry_info *stub;

 	ZEND_PARSE_PARAMETERS_NONE();

 	PHAR_ARCHIVE_OBJECT();

 	if (phar_obj->archive->is_tar || phar_obj->archive->is_zip) {
+		const phar_entry_info *stub = zend_hash_str_find_ptr(&(phar_obj->archive->manifest), ".phar/stub.php", sizeof(".phar/stub.php")-1);

-		if (NULL != (stub = zend_hash_str_find_ptr(&(phar_obj->archive->manifest), ".phar/stub.php", sizeof(".phar/stub.php")-1))) {
+		if (stub) {
 			if (phar_obj->archive->fp && !phar_obj->archive->is_brandnew && !(stub->flags & PHAR_ENT_COMPRESSION_MASK)) {
 				fp = phar_obj->archive->fp;
 			} else {
-				if (!(fp = php_stream_open_wrapper(phar_obj->archive->fname, "rb", 0, NULL))) {
+				fp = php_stream_open_wrapper(phar_obj->archive->fname, "rb", 0, NULL);
+				if (!fp) {
 					zend_throw_exception_ex(spl_ce_UnexpectedValueException, 0, "phar error: unable to open phar \"%s\"", phar_obj->archive->fname);
 					RETURN_THROWS();
 				}
@@ -4777,7 +4792,6 @@ PHP_METHOD(PharFileInfo, delMetadata)
 PHP_METHOD(PharFileInfo, getContent)
 {
 	char *error;
-	php_stream *fp;
 	phar_entry_info *link;
 	zend_string *str;

@@ -4804,7 +4818,8 @@ PHP_METHOD(PharFileInfo, getContent)
 		RETURN_THROWS();
 	}

-	if (!(fp = phar_get_efp(link, false))) {
+	php_stream *fp = phar_get_efp(link, false);
+	if (!fp) {
 		zend_throw_exception_ex(spl_ce_BadMethodCallException, 0,
 			"phar error: Cannot retrieve contents of \"%s\" in phar \"%s\"", ZSTR_VAL(entry_obj->entry->filename), entry_obj->entry->phar->fname);
 		RETURN_THROWS();
diff --git a/ext/phar/stream.c b/ext/phar/stream.c
index 7abb7e6422e..ea5f652dd56 100644
--- a/ext/phar/stream.c
+++ b/ext/phar/stream.c
@@ -163,11 +163,11 @@ static php_stream * phar_wrapper_open_url(php_stream_wrapper *wrapper, const cha
 	char *internal_file;
 	char *error;
 	HashTable *pharcontext;
-	php_url *resource = NULL;
 	php_stream *fpf;
 	zval *pzoption, *metadata;

-	if ((resource = phar_parse_url(wrapper, path, mode, options)) == NULL) {
+	php_url *resource = phar_parse_url(wrapper, path, mode, options);
+	if (!resource) {
 		return NULL;
 	}

@@ -320,7 +320,7 @@ static php_stream * phar_wrapper_open_url(php_stream_wrapper *wrapper, const cha
 	}

 	if (!PHAR_G(cwd_init) && (options & STREAM_OPEN_FOR_INCLUDE)) {
-		char *entry = ZSTR_VAL(idata->internal_file->filename), *cwd;
+		const char *entry = ZSTR_VAL(idata->internal_file->filename), *cwd;

 		PHAR_G(cwd_init) = 1;
 		if ((idata->phar->is_tar || idata->phar->is_zip) && zend_string_equals_literal(idata->internal_file->filename, ".phar/stub.php")) {
@@ -556,13 +556,12 @@ static int phar_stream_stat(php_stream *stream, php_stream_statbuf *ssb) /* {{{
 static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int flags,
 				  php_stream_statbuf *ssb, php_stream_context *context) /* {{{ */
 {
-	php_url *resource = NULL;
 	char *internal_file;
 	phar_archive_data *phar;
-	phar_entry_info *entry;
 	size_t internal_file_len;

-	if ((resource = phar_parse_url(wrapper, url, "r", flags|PHP_STREAM_URL_STAT_QUIET)) == NULL) {
+	php_url *resource = phar_parse_url(wrapper, url, "r", flags|PHP_STREAM_URL_STAT_QUIET);
+	if (!resource) {
 		return FAILURE;
 	}

@@ -597,7 +596,8 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int f
 	}
 	internal_file_len = strlen(internal_file);
 	/* search through the manifest of files, and if we have an exact match, it's a file */
-	if (NULL != (entry = zend_hash_str_find_ptr(&phar->manifest, internal_file, internal_file_len))) {
+	phar_entry_info *entry = zend_hash_str_find_ptr(&phar->manifest, internal_file, internal_file_len);
+	if (entry) {
 		phar_dostat(phar, entry, ssb, false);
 		php_url_free(resource);
 		return SUCCESS;
@@ -636,7 +636,9 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int f
 					goto free_resource;
 				}
 				efree(test);
-				if (NULL == (entry = zend_hash_str_find_ptr(&phar->manifest, internal_file, internal_file_len))) {
+
+				entry = zend_hash_str_find_ptr(&phar->manifest, internal_file, internal_file_len);
+				if (!entry) {
 					goto free_resource;
 				}
 				phar_dostat(phar, entry, ssb, false);
@@ -656,13 +658,13 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int f
  */
 static int phar_wrapper_unlink(php_stream_wrapper *wrapper, const char *url, int options, php_stream_context *context) /* {{{ */
 {
-	php_url *resource;
 	char *internal_file, *error;
 	size_t internal_file_len;
 	phar_entry_data *idata;
 	phar_archive_data *pphar;

-	if ((resource = phar_parse_url(wrapper, url, "rb", options)) == NULL) {
+	php_url *resource = phar_parse_url(wrapper, url, "rb", options);
+	if (!resource) {
 		php_stream_wrapper_log_error(wrapper, options, "phar error: unlink failed");
 		return 0;
 	}
@@ -728,16 +730,15 @@ static int phar_wrapper_unlink(php_stream_wrapper *wrapper, const char *url, int

 static int phar_wrapper_rename(php_stream_wrapper *wrapper, const char *url_from, const char *url_to, int options, php_stream_context *context) /* {{{ */
 {
-	php_url *resource_from, *resource_to;
 	char *error;
 	phar_archive_data *phar, *pfrom, *pto;
-	phar_entry_info *entry;
 	bool is_dir = false;
 	bool is_modified = false;

 	error = NULL;

-	if ((resource_from = phar_parse_url(wrapper, url_from, "wb", options|PHP_STREAM_URL_STAT_QUIET)) == NULL) {
+	php_url *resource_from = phar_parse_url(wrapper, url_from, "wb", options|PHP_STREAM_URL_STAT_QUIET);
+	if (!resource_from) {
 		php_error_docref(NULL, E_WARNING, "phar error: cannot rename \"%s\" to \"%s\": invalid or non-writable url \"%s\"", url_from, url_to, url_from);
 		return 0;
 	}
@@ -753,7 +754,8 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, const char *url_from
 		return 0;
 	}

-	if ((resource_to = phar_parse_url(wrapper, url_to, "wb", options|PHP_STREAM_URL_STAT_QUIET)) == NULL) {
+	php_url *resource_to = phar_parse_url(wrapper, url_to, "wb", options|PHP_STREAM_URL_STAT_QUIET);
+	if (!resource_to) {
 		php_url_free(resource_from);
 		php_error_docref(NULL, E_WARNING, "phar error: cannot rename \"%s\" to \"%s\": invalid or non-writable url \"%s\"", url_from, url_to, url_to);
 		return 0;
@@ -822,7 +824,8 @@ static int phar_wrapper_rename(php_stream_wrapper *wrapper, const char *url_from
 		return 0;
 	}

-	if (NULL != (entry = zend_hash_str_find_ptr(&(phar->manifest), ZSTR_VAL(resource_from->path)+1, ZSTR_LEN(resource_from->path)-1))) {
+	phar_entry_info *entry = zend_hash_str_find_ptr(&(phar->manifest), ZSTR_VAL(resource_from->path)+1, ZSTR_LEN(resource_from->path)-1);
+	if (entry) {
 		phar_entry_info new, *source;

 		/* perform rename magic */
diff --git a/ext/phar/tar.c b/ext/phar/tar.c
index 844f613983f..0c042517125 100644
--- a/ext/phar/tar.c
+++ b/ext/phar/tar.c
@@ -658,11 +658,9 @@ zend_result phar_parse_tarfile(php_stream* fp, const char *fname, size_t fname_l
 	myphar = actual;

 	if (actual_alias) {
-		phar_archive_data *fd_ptr;
-
 		myphar->is_temporary_alias = 0;
-
-		if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), actual_alias, myphar->alias_len))) {
+		phar_archive_data *fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), actual_alias, myphar->alias_len);
+		if (fd_ptr) {
 			if (SUCCESS != phar_free_alias(fd_ptr)) {
 				if (error) {
 					spprintf(error, 4096, "phar error: Unable to add tar-based phar \"%s\", alias is already in use", fname);
@@ -674,10 +672,9 @@ zend_result phar_parse_tarfile(php_stream* fp, const char *fname, size_t fname_l

 		zend_hash_str_add_ptr(&(PHAR_G(phar_alias_map)), actual_alias, myphar->alias_len, myphar);
 	} else {
-		phar_archive_data *fd_ptr;
-
 		if (alias_len) {
-			if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len))) {
+			phar_archive_data *fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len);
+			if (fd_ptr) {
 				if (SUCCESS != phar_free_alias(fd_ptr)) {
 					if (error) {
 						spprintf(error, 4096, "phar error: Unable to add tar-based phar \"%s\", alias is already in use", fname);
@@ -909,7 +906,7 @@ ZEND_ATTRIBUTE_NONNULL static int phar_tar_setupmetadata(zval *zv, void *argumen
 {
 	struct _phar_pass_tar_info *i = (struct _phar_pass_tar_info *)argument;
 	char **error = i->error;
-	phar_entry_info *entry = (phar_entry_info *)Z_PTR_P(zv), *metadata, newentry = {0};
+	phar_entry_info *entry = (phar_entry_info *)Z_PTR_P(zv), newentry = {0};

 	if (zend_string_starts_with_literal(entry->filename, ".phar/.metadata")) {
 		if (zend_string_equals_literal(entry->filename, ".phar/.metadata.bin")) {
@@ -937,7 +934,8 @@ ZEND_ATTRIBUTE_NONNULL static int phar_tar_setupmetadata(zval *zv, void *argumen
 		return ZEND_HASH_APPLY_KEEP;
 	}

-	if (NULL != (metadata = zend_hash_find_ptr(&entry->phar->manifest, lookfor))) {
+	phar_entry_info *metadata = zend_hash_find_ptr(&entry->phar->manifest, lookfor);
+	if (metadata) {
 		int ret;
 		ret = phar_tar_setmetadata(&entry->metadata_tracker, metadata, error);
 		zend_string_efree(lookfor);
@@ -949,7 +947,8 @@ ZEND_ATTRIBUTE_NONNULL static int phar_tar_setupmetadata(zval *zv, void *argumen
 	newentry.tar_type = TAR_FILE;
 	newentry.is_tar = 1;

-	if (NULL == (metadata = zend_hash_add_mem(&entry->phar->manifest, lookfor, &newentry, sizeof(phar_entry_info)))) {
+	metadata = zend_hash_add_mem(&entry->phar->manifest, lookfor, &newentry, sizeof(phar_entry_info));
+	if (!metadata) {
 		zend_string_efree(lookfor);
 		spprintf(error, 0, "phar tar error: unable to add magic metadata file to manifest for file \"%s\"", ZSTR_VAL(entry->filename));
 		return ZEND_HASH_APPLY_STOP;
@@ -1104,8 +1103,8 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 4) int phar_tar_flush(phar_archive_data *phar, ze
 	pass.free_ufp = true;

 	if (phar_metadata_tracker_has_data(&phar->metadata_tracker, phar->is_persistent)) {
-		phar_entry_info *mentry;
-		if (NULL != (mentry = zend_hash_str_find_ptr(&(phar->manifest), ".phar/.metadata.bin", sizeof(".phar/.metadata.bin")-1))) {
+		phar_entry_info *mentry = zend_hash_str_find_ptr(&(phar->manifest), ZEND_STRL(".phar/.metadata.bin"));
+		if (mentry) {
 			if (ZEND_HASH_APPLY_KEEP != phar_tar_setmetadata(&phar->metadata_tracker, mentry, error)) {
 				if (must_close_old_file) {
 					php_stream_close(oldfile);
@@ -1120,7 +1119,8 @@ ZEND_ATTRIBUTE_NONNULL_ARGS(1, 4) int phar_tar_flush(phar_archive_data *phar, ze
 			newentry.tar_type = TAR_FILE;
 			newentry.is_tar = 1;

-			if (NULL == (mentry = zend_hash_add_mem(&phar->manifest, newentry.filename, &newentry, sizeof(phar_entry_info)))) {
+			mentry = zend_hash_add_mem(&phar->manifest, newentry.filename, &newentry, sizeof(phar_entry_info));
+			if (!mentry) {
 				zend_string_efree(newentry.filename);
 				spprintf(error, 0, "phar tar error: unable to add magic metadata file to manifest for phar archive \"%s\"", phar->fname);
 				if (must_close_old_file) {
diff --git a/ext/phar/util.c b/ext/phar/util.c
index e0f4dc3da6c..5cd51c65ba9 100644
--- a/ext/phar/util.c
+++ b/ext/phar/util.c
@@ -493,14 +493,16 @@ ZEND_ATTRIBUTE_NONNULL zend_result phar_get_entry_data(phar_entry_data **ret, co
 	}
 really_get_entry:
 	if (allow_dir) {
-		if ((entry = phar_get_entry_info_dir(phar, path, path_len, allow_dir, for_create && !PHAR_G(readonly) && !phar->is_data ? NULL : error, security)) == NULL) {
+		entry = phar_get_entry_info_dir(phar, path, path_len, allow_dir, for_create && !PHAR_G(readonly) && !phar->is_data ? NULL : error, security);
+		if (!entry) {
 			if (for_create && (!PHAR_G(readonly) || phar->is_data)) {
 				return SUCCESS;
 			}
 			return FAILURE;
 		}
 	} else {
-		if ((entry = phar_get_entry_info(phar, path, path_len, for_create && !PHAR_G(readonly) && !phar->is_data ? NULL : error, security)) == NULL) {
+		entry = phar_get_entry_info(phar, path, path_len, for_create && !PHAR_G(readonly) && !phar->is_data ? NULL : error, security);
+		if (!entry) {
 			if (for_create && (!PHAR_G(readonly) || phar->is_data)) {
 				return SUCCESS;
 			}
@@ -612,7 +614,7 @@ ZEND_ATTRIBUTE_NONNULL zend_result phar_get_entry_data(phar_entry_data **ret, co
 ZEND_ATTRIBUTE_NONNULL phar_entry_data *phar_get_or_create_entry_data(char *fname, size_t fname_len, char *path, size_t path_len, const char *mode, char allow_dir, char **error, bool security, uint32_t timestamp) /* {{{ */
 {
 	phar_archive_data *phar;
-	phar_entry_info *entry, etemp;
+	phar_entry_info etemp;
 	phar_entry_data *ret;
 	const char *pcr_error;
 	char is_dir;
@@ -682,7 +684,8 @@ ZEND_ATTRIBUTE_NONNULL phar_entry_data *phar_get_or_create_entry_data(char *fnam
 		etemp.tar_type = etemp.is_dir ? TAR_DIR : TAR_FILE;
 	}

-	if (NULL == (entry = zend_hash_add_mem(&phar->manifest, etemp.filename, &etemp, sizeof(phar_entry_info)))) {
+	phar_entry_info *entry = zend_hash_add_mem(&phar->manifest, etemp.filename, &etemp, sizeof(phar_entry_info));
+	if (!entry) {
 		php_stream_close(etemp.fp);
 		spprintf(error, 0, "phar error: unable to add new entry \"%s\" to phar \"%s\"",
 			ZSTR_VAL(etemp.filename), phar->fname);
@@ -1001,7 +1004,8 @@ zend_result phar_get_archive(phar_archive_data **archive, const char *fname, siz
 	}

 	if (alias && alias_len) {
-		if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len))) {
+		fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len);
+		if (fd_ptr) {
 alias_success:
 			if (fname && (fname_len != fd_ptr->fname_len || strncmp(fname, fd_ptr->fname, fname_len))) {
 				if (error) {
@@ -1037,7 +1041,8 @@ zend_result phar_get_archive(phar_archive_data **archive, const char *fname, siz
 	size_t save_len = fname_len;

 	if (fname && fname_len) {
-		if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_fname_map)), fname, fname_len))) {
+		fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_fname_map)), fname, fname_len);
+		if (fd_ptr) {
 			*archive = fd_ptr;
 			fd = fd_ptr;

@@ -1089,7 +1094,8 @@ zend_result phar_get_archive(phar_archive_data **archive, const char *fname, siz
 			return SUCCESS;
 		}

-		if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), save, save_len))) {
+		fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), save, save_len);
+		if (fd_ptr) {
 			fd = *archive = fd_ptr;

 			PHAR_G(last_phar) = fd;
@@ -1127,7 +1133,8 @@ zend_result phar_get_archive(phar_archive_data **archive, const char *fname, siz
 			return FAILURE;
 		}

-		if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_fname_map)), fname, fname_len))) {
+		fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_fname_map)), fname, fname_len);
+		if (fd_ptr) {
 realpath_success:
 			*archive = fd_ptr;
 			fd = fd_ptr;
@@ -1215,7 +1222,6 @@ phar_entry_info *phar_get_entry_info(phar_archive_data *phar, char *path, size_t
 phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, size_t path_len, char dir, char **error, bool security) /* {{{ */
 {
 	const char *pcr_error;
-	phar_entry_info *entry;
 	bool is_dir;

 #ifdef PHP_WIN32
@@ -1260,7 +1266,8 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, si
 		path_len--;
 	}

-	if (NULL != (entry = zend_hash_str_find_ptr(&phar->manifest, path, path_len))) {
+	phar_entry_info *entry = zend_hash_str_find_ptr(&phar->manifest, path, path_len);
+	if (entry) {
 		if (entry->is_deleted) {
 			/* entry is deleted, but has not been flushed to disk yet */
 			return NULL;
@@ -1304,7 +1311,8 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, si
 				size_t test_len;
 				php_stream_statbuf ssb;

-				if (NULL == (entry = zend_hash_find_ptr(&phar->manifest, str_key))) {
+				entry = zend_hash_find_ptr(&phar->manifest, str_key);
+				if (!entry) {
 					if (error) {
 						spprintf(error, 4096, "phar internal error: mounted path \"%s\" could not be retrieved from manifest", ZSTR_VAL(str_key));
 					}
@@ -1353,7 +1361,8 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, si

 				efree(test);

-				if (NULL == (entry = zend_hash_str_find_ptr(&phar->manifest, path, path_len))) {
+				entry = zend_hash_str_find_ptr(&phar->manifest, path, path_len);
+				if (!entry) {
 					if (error) {
 						spprintf(error, 4096, "phar error: path \"%s\" exists as file \"%s\" and could not be retrieved after being mounted", path, test);
 					}
@@ -1522,17 +1531,22 @@ zend_result phar_verify_signature(php_stream *fp, size_t end_of_phar, uint32_t s
 			pfp = php_stream_open_wrapper(pfile, "rb", 0, NULL);
 			efree(pfile);

-			if (!pfp || !(pubkey = php_stream_copy_to_mem(pfp, PHP_STREAM_COPY_ALL, 0)) || !ZSTR_LEN(pubkey)) {
-				if (pfp) {
-					php_stream_close(pfp);
-				}
+			if (!pfp) {
 				if (error) {
 					*error = estrdup("openssl public key could not be read");
 				}
 				return FAILURE;
 			}

+			pubkey = php_stream_copy_to_mem(pfp, PHP_STREAM_COPY_ALL, 0);
 			php_stream_close(pfp);
+			if (!pubkey || !ZSTR_LEN(pubkey)) {
+				if (error) {
+					*error = estrdup("openssl public key could not be read");
+				}
+				return FAILURE;
+			}
+
 #ifndef PHAR_HAVE_OPENSSL
 			tempsig = sig_len;

diff --git a/ext/phar/zip.c b/ext/phar/zip.c
index f757adc90c8..ec23603d9be 100644
--- a/ext/phar/zip.c
+++ b/ext/phar/zip.c
@@ -726,7 +726,6 @@ zend_result phar_parse_zipfile(php_stream *fp, const char *fname, size_t fname_l
 	zend_hash_str_add_ptr(&(PHAR_G(phar_fname_map)), mydata->fname, fname_len, mydata);

 	if (actual_alias) {
-		phar_archive_data *fd_ptr;

 		if (!phar_validate_alias(actual_alias, mydata->alias_len)) {
 			if (error) {
@@ -739,7 +738,8 @@ zend_result phar_parse_zipfile(php_stream *fp, const char *fname, size_t fname_l

 		mydata->is_temporary_alias = 0;

-		if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), actual_alias, mydata->alias_len))) {
+		phar_archive_data *fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), actual_alias, mydata->alias_len);
+		if (fd_ptr) {
 			if (SUCCESS != phar_free_alias(fd_ptr)) {
 				if (error) {
 					spprintf(error, 4096, "phar error: Unable to add zip-based phar \"%s\" with implicit alias, alias is already in use", fname);
@@ -758,10 +758,9 @@ zend_result phar_parse_zipfile(php_stream *fp, const char *fname, size_t fname_l

 		zend_hash_str_add_ptr(&(PHAR_G(phar_alias_map)), mydata->alias, mydata->alias_len, mydata);
 	} else {
-		phar_archive_data *fd_ptr;
-
 		if (alias_len) {
-			if (NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len))) {
+			phar_archive_data *fd_ptr = zend_hash_str_find_ptr(&(PHAR_G(phar_alias_map)), alias, alias_len);
+			if (fd_ptr) {
 				if (SUCCESS != phar_free_alias(fd_ptr)) {
 					if (error) {
 						spprintf(error, 4096, "phar error: Unable to add zip-based phar \"%s\" with explicit alias, alias is already in use", fname);