Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 6b20895

Browse filesBrowse files
committed
Use HashTable.u.flags instead of HashTable.arHash to check if HashTable is properly initialized
1 parent ee7decb commit 6b20895
Copy full SHA for 6b20895

File tree

Expand file treeCollapse file tree

7 files changed

+42
-42
lines changed
Filter options
Expand file treeCollapse file tree

7 files changed

+42
-42
lines changed

‎ext/phar/dirstream.c

Copy file name to clipboardExpand all lines: ext/phar/dirstream.c
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ static int phar_dir_close(php_stream *stream, int close_handle) /* {{{ */
4444
{
4545
HashTable *data = (HashTable *)stream->abstract;
4646

47-
if (data && data->arHash) {
47+
if (data && data->u.flags) {
4848
zend_hash_destroy(data);
49-
data->arHash = 0;
49+
data->u.flags = 0;
5050
FREE_HASHTABLE(data);
5151
stream->abstract = NULL;
5252
}
@@ -361,7 +361,7 @@ php_stream *phar_wrapper_open_dir(php_stream_wrapper *wrapper, const char *path,
361361
return ret;
362362
}
363363

364-
if (!phar->manifest.arHash) {
364+
if (!phar->manifest.u.flags) {
365365
php_url_free(resource);
366366
return NULL;
367367
}

‎ext/phar/func_interceptors.c

Copy file name to clipboardExpand all lines: ext/phar/func_interceptors.c
+12-12Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ PHAR_FUNC(phar_opendir) /* {{{ */
3333
goto skip_phar;
3434
}
3535

36-
if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
37-
&& !cached_phars.arHash) {
36+
if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
37+
&& !cached_phars.u.flags) {
3838
goto skip_phar;
3939
}
4040

@@ -106,8 +106,8 @@ PHAR_FUNC(phar_file_get_contents) /* {{{ */
106106
goto skip_phar;
107107
}
108108

109-
if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
110-
&& !cached_phars.arHash) {
109+
if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
110+
&& !cached_phars.u.flags) {
111111
goto skip_phar;
112112
}
113113

@@ -234,8 +234,8 @@ PHAR_FUNC(phar_readfile) /* {{{ */
234234
goto skip_phar;
235235
}
236236

237-
if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
238-
&& !cached_phars.arHash) {
237+
if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
238+
&& !cached_phars.u.flags) {
239239
goto skip_phar;
240240
}
241241
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(), "p|br!", &filename, &filename_len, &use_include_path, &zcontext) == FAILURE) {
@@ -329,8 +329,8 @@ PHAR_FUNC(phar_fopen) /* {{{ */
329329
goto skip_phar;
330330
}
331331

332-
if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
333-
&& !cached_phars.arHash) {
332+
if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
333+
&& !cached_phars.u.flags) {
334334
/* no need to check, include_path not even specified in fopen/ no active phars */
335335
goto skip_phar;
336336
}
@@ -895,8 +895,8 @@ PHAR_FUNC(phar_is_file) /* {{{ */
895895
goto skip_phar;
896896
}
897897

898-
if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
899-
&& !cached_phars.arHash) {
898+
if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
899+
&& !cached_phars.u.flags) {
900900
goto skip_phar;
901901
}
902902
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(), "p", &filename, &filename_len) == FAILURE) {
@@ -962,8 +962,8 @@ PHAR_FUNC(phar_is_link) /* {{{ */
962962
goto skip_phar;
963963
}
964964

965-
if ((PHAR_GLOBALS->phar_fname_map.arHash && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
966-
&& !cached_phars.arHash) {
965+
if ((PHAR_GLOBALS->phar_fname_map.u.flags && !zend_hash_num_elements(&(PHAR_GLOBALS->phar_fname_map)))
966+
&& !cached_phars.u.flags) {
967967
goto skip_phar;
968968
}
969969
if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS(), "p", &filename, &filename_len) == FAILURE) {

‎ext/phar/phar.c

Copy file name to clipboardExpand all lines: ext/phar/phar.c
+14-14Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ ZEND_INI_MH(phar_ini_modify_handler) /* {{{ */
8282

8383
if (entry->name->len == sizeof("phar.readonly")-1) {
8484
PHAR_G(readonly) = ini;
85-
if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.arHash) {
85+
if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.u.flags) {
8686
zend_hash_apply_with_argument(&(PHAR_GLOBALS->phar_fname_map), phar_set_writeable_bit, (void *)&ini);
8787
}
8888
} else {
@@ -146,9 +146,9 @@ static void phar_split_cache_list(void) /* {{{ */
146146
PHAR_GLOBALS->manifest_cached = 0;
147147
efree(tmp);
148148
zend_hash_destroy(&(PHAR_G(phar_fname_map)));
149-
PHAR_GLOBALS->phar_fname_map.arHash = 0;
149+
PHAR_GLOBALS->phar_fname_map.u.flags = 0;
150150
zend_hash_destroy(&(PHAR_G(phar_alias_map)));
151-
PHAR_GLOBALS->phar_alias_map.arHash = 0;
151+
PHAR_GLOBALS->phar_alias_map.u.flags = 0;
152152
zend_hash_destroy(&cached_phars);
153153
zend_hash_destroy(&cached_alias);
154154
zend_hash_graceful_reverse_destroy(&EG(regular_list));
@@ -173,8 +173,8 @@ static void phar_split_cache_list(void) /* {{{ */
173173
zend_hash_destroy(&cached_alias);
174174
cached_phars = PHAR_GLOBALS->phar_fname_map;
175175
cached_alias = PHAR_GLOBALS->phar_alias_map;
176-
PHAR_GLOBALS->phar_fname_map.arHash = 0;
177-
PHAR_GLOBALS->phar_alias_map.arHash = 0;
176+
PHAR_GLOBALS->phar_fname_map.u.flags = 0;
177+
PHAR_GLOBALS->phar_alias_map.u.flags = 0;
178178
zend_hash_graceful_reverse_destroy(&EG(regular_list));
179179
memset(&EG(regular_list), 0, sizeof(HashTable));
180180
efree(tmp);
@@ -220,19 +220,19 @@ void phar_destroy_phar_data(phar_archive_data *phar) /* {{{ */
220220
phar->signature = NULL;
221221
}
222222

223-
if (phar->manifest.arHash) {
223+
if (phar->manifest.u.flags) {
224224
zend_hash_destroy(&phar->manifest);
225-
phar->manifest.arHash = NULL;
225+
phar->manifest.u.flags = 0;
226226
}
227227

228-
if (phar->mounted_dirs.arHash) {
228+
if (phar->mounted_dirs.u.flags) {
229229
zend_hash_destroy(&phar->mounted_dirs);
230-
phar->mounted_dirs.arHash = NULL;
230+
phar->mounted_dirs.u.flags = 0;
231231
}
232232

233-
if (phar->virtual_dirs.arHash) {
233+
if (phar->virtual_dirs.u.flags) {
234234
zend_hash_destroy(&phar->virtual_dirs);
235-
phar->virtual_dirs.arHash = NULL;
235+
phar->virtual_dirs.u.flags = 0;
236236
}
237237

238238
if (Z_TYPE(phar->metadata) != IS_UNDEF) {
@@ -3487,11 +3487,11 @@ PHP_RSHUTDOWN_FUNCTION(phar) /* {{{ */
34873487
{
34883488
phar_release_functions();
34893489
zend_hash_destroy(&(PHAR_GLOBALS->phar_alias_map));
3490-
PHAR_GLOBALS->phar_alias_map.arHash = NULL;
3490+
PHAR_GLOBALS->phar_alias_map.u.flags = 0;
34913491
zend_hash_destroy(&(PHAR_GLOBALS->phar_fname_map));
3492-
PHAR_GLOBALS->phar_fname_map.arHash = NULL;
3492+
PHAR_GLOBALS->phar_fname_map.u.flags = 0;
34933493
zend_hash_destroy(&(PHAR_GLOBALS->phar_persist_map));
3494-
PHAR_GLOBALS->phar_persist_map.arHash = NULL;
3494+
PHAR_GLOBALS->phar_persist_map.u.flags = 0;
34953495
PHAR_GLOBALS->phar_SERVER_mung_list = 0;
34963496

34973497
if (PHAR_GLOBALS->cached_fp) {

‎ext/phar/phar_object.c

Copy file name to clipboardExpand all lines: ext/phar/phar_object.c
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ PHP_METHOD(Phar, mount)
517517
}
518518

519519
return;
520-
} else if (PHAR_GLOBALS->phar_fname_map.arHash && NULL != (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), fname, fname_len))) {
520+
} else if (PHAR_GLOBALS->phar_fname_map.u.flags && NULL != (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), fname, fname_len))) {
521521
goto carry_on;
522522
} else if (PHAR_G(manifest_cached) && NULL != (pphar = zend_hash_str_find_ptr(&cached_phars, fname, fname_len))) {
523523
if (SUCCESS == phar_copy_on_write(&pphar)) {

‎ext/phar/stream.c

Copy file name to clipboardExpand all lines: ext/phar/stream.c
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ php_url* phar_parse_url(php_stream_wrapper *wrapper, const char *filename, const
103103
if (mode[0] == 'w' || (mode[0] == 'r' && mode[1] == '+')) {
104104
phar_archive_data *pphar = NULL, *phar;
105105

106-
if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.arHash && NULL == (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), arch, arch_len))) {
106+
if (PHAR_GLOBALS->request_init && PHAR_GLOBALS->phar_fname_map.u.flags && NULL == (pphar = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_fname_map), arch, arch_len))) {
107107
pphar = NULL;
108108
}
109109
if (PHAR_G(readonly) && (!pphar || !pphar->is_data)) {
@@ -608,7 +608,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int f
608608
php_url_free(resource);
609609
return SUCCESS;
610610
}
611-
if (!phar->manifest.arHash) {
611+
if (!phar->manifest.u.flags) {
612612
php_url_free(resource);
613613
return FAILURE;
614614
}
@@ -625,7 +625,7 @@ static int phar_wrapper_stat(php_stream_wrapper *wrapper, const char *url, int f
625625
return SUCCESS;
626626
}
627627
/* check for mounted directories */
628-
if (phar->mounted_dirs.arHash && zend_hash_num_elements(&phar->mounted_dirs)) {
628+
if (phar->mounted_dirs.u.flags && zend_hash_num_elements(&phar->mounted_dirs)) {
629629
zend_string *str_key;
630630

631631
ZEND_HASH_FOREACH_STR_KEY(&phar->mounted_dirs, str_key) {

‎ext/phar/util.c

Copy file name to clipboardExpand all lines: ext/phar/util.c
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,7 @@ phar_entry_info * phar_open_jit(phar_archive_data *phar, phar_entry_info *entry,
925925

926926
PHP_PHAR_API int phar_resolve_alias(char *alias, int alias_len, char **filename, int *filename_len) /* {{{ */ {
927927
phar_archive_data *fd_ptr;
928-
if (PHAR_GLOBALS->phar_alias_map.arHash
928+
if (PHAR_GLOBALS->phar_alias_map.u.flags
929929
&& NULL != (fd_ptr = zend_hash_str_find_ptr(&(PHAR_GLOBALS->phar_alias_map), alias, alias_len))) {
930930
*filename = fd_ptr->fname;
931931
*filename_len = fd_ptr->fname_len;
@@ -1249,7 +1249,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, in
12491249
return NULL;
12501250
}
12511251

1252-
if (!phar->manifest.arHash) {
1252+
if (!phar->manifest.u.flags) {
12531253
return NULL;
12541254
}
12551255

@@ -1294,7 +1294,7 @@ phar_entry_info *phar_get_entry_info_dir(phar_archive_data *phar, char *path, in
12941294
}
12951295
}
12961296

1297-
if (phar->mounted_dirs.arHash && zend_hash_num_elements(&phar->mounted_dirs)) {
1297+
if (phar->mounted_dirs.u.flags && zend_hash_num_elements(&phar->mounted_dirs)) {
12981298
zend_string *str_key;
12991299

13001300
ZEND_HASH_FOREACH_STR_KEY(&phar->mounted_dirs, str_key) {

‎ext/phar/zip.c

Copy file name to clipboardExpand all lines: ext/phar/zip.c
+6-6Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -293,11 +293,11 @@ int phar_parse_zipfile(php_stream *fp, char *fname, int fname_len, char *alias,
293293
entry.is_persistent = mydata->is_persistent;
294294
#define PHAR_ZIP_FAIL_FREE(errmsg, save) \
295295
zend_hash_destroy(&mydata->manifest); \
296-
mydata->manifest.arHash = 0; \
296+
mydata->manifest.u.flags = 0; \
297297
zend_hash_destroy(&mydata->mounted_dirs); \
298-
mydata->mounted_dirs.arHash = 0; \
298+
mydata->mounted_dirs.u.flags = 0; \
299299
zend_hash_destroy(&mydata->virtual_dirs); \
300-
mydata->virtual_dirs.arHash = 0; \
300+
mydata->virtual_dirs.u.flags = 0; \
301301
php_stream_close(fp); \
302302
zval_dtor(&mydata->metadata); \
303303
if (mydata->signature) { \
@@ -315,11 +315,11 @@ int phar_parse_zipfile(php_stream *fp, char *fname, int fname_len, char *alias,
315315
return FAILURE;
316316
#define PHAR_ZIP_FAIL(errmsg) \
317317
zend_hash_destroy(&mydata->manifest); \
318-
mydata->manifest.arHash = 0; \
318+
mydata->manifest.u.flags = 0; \
319319
zend_hash_destroy(&mydata->mounted_dirs); \
320-
mydata->mounted_dirs.arHash = 0; \
320+
mydata->mounted_dirs.u.flags = 0; \
321321
zend_hash_destroy(&mydata->virtual_dirs); \
322-
mydata->virtual_dirs.arHash = 0; \
322+
mydata->virtual_dirs.u.flags = 0; \
323323
php_stream_close(fp); \
324324
zval_dtor(&mydata->metadata); \
325325
if (mydata->signature) { \

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.