diff options
| author | Xinchen Hui <laruence@php.net> | 2015-01-17 23:04:41 -0500 |
|---|---|---|
| committer | Xinchen Hui <laruence@php.net> | 2015-01-17 23:04:41 -0500 |
| commit | 89beb12fefdfe9a9b56f1db9027d9bfaeb895b31 (patch) | |
| tree | 5c965cda75a3475fcdb3be358e7110a30c87ce5e /ext | |
| parent | ad32e033274ea49d05164418241946d2f1798894 (diff) | |
| download | php-git-89beb12fefdfe9a9b56f1db9027d9bfaeb895b31.tar.gz | |
Fixed bug #68809 (Unchecked return value)
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/phar/tar.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/phar/tar.c b/ext/phar/tar.c index 6d3daf5c62..0195a515bd 100644 --- a/ext/phar/tar.c +++ b/ext/phar/tar.c @@ -481,7 +481,14 @@ bail: entry.link = estrdup(hdr->linkname); } phar_set_inode(&entry); - newentry = zend_hash_str_add_mem(&myphar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info)); + if ((newentry = zend_hash_str_add_mem(&myphar->manifest, entry.filename, entry.filename_len, (void*)&entry, sizeof(phar_entry_info))) == NULL) { + if (error) { + spprintf(error, 4096, "phar error: tar-based phar \"%s\" cannot be registered", entry.filename); + } + php_stream_close(fp); + phar_destroy_phar_data(myphar); + return FAILURE; + } if (entry.is_persistent) { ++entry.manifest_pos; |
