diff options
Diffstat (limited to 'ext/phar/phar_object.c')
| -rw-r--r-- | ext/phar/phar_object.c | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index 9af857bf93..ccacf806d1 100644 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -1278,17 +1278,17 @@ PHP_METHOD(Phar, getSupportedSignatures) array_init(return_value); - add_next_index_stringl(return_value, "MD5", 3, 1); - add_next_index_stringl(return_value, "SHA-1", 5, 1); + add_next_index_stringl(return_value, "MD5", 3); + add_next_index_stringl(return_value, "SHA-1", 5); #ifdef PHAR_HASH_OK - add_next_index_stringl(return_value, "SHA-256", 7, 1); - add_next_index_stringl(return_value, "SHA-512", 7, 1); + add_next_index_stringl(return_value, "SHA-256", 7); + add_next_index_stringl(return_value, "SHA-512", 7); #endif #if PHAR_HAVE_OPENSSL - add_next_index_stringl(return_value, "OpenSSL", 7, 1); + add_next_index_stringl(return_value, "OpenSSL", 7); #else if (zend_hash_exists(&module_registry, "openssl", sizeof("openssl"))) { - add_next_index_stringl(return_value, "OpenSSL", 7, 1); + add_next_index_stringl(return_value, "OpenSSL", 7); } #endif } @@ -1307,11 +1307,11 @@ PHP_METHOD(Phar, getSupportedCompression) phar_request_initialize(TSRMLS_C); if (PHAR_G(has_zlib)) { - add_next_index_stringl(return_value, "GZ", 2, 1); + add_next_index_stringl(return_value, "GZ", 2); } if (PHAR_G(has_bz2)) { - add_next_index_stringl(return_value, "BZIP2", 5, 1); + add_next_index_stringl(return_value, "BZIP2", 5); } } /* }}} */ @@ -1716,7 +1716,9 @@ after_open_fp: php_stream_close(fp); } - add_assoc_string(p_obj->ret, str_key, opened, 0); + // TODO: avoid reallocation ??? + add_assoc_string(p_obj->ret, str_key, opened); + efree(opened); if (save) { efree(save); @@ -3085,26 +3087,28 @@ PHP_METHOD(Phar, getSignature) int unknown_len; array_init(return_value); - add_assoc_stringl(return_value, "hash", phar_obj->arc.archive->signature, phar_obj->arc.archive->sig_len, 1); + add_assoc_stringl(return_value, "hash", phar_obj->arc.archive->signature, phar_obj->arc.archive->sig_len); switch(phar_obj->arc.archive->sig_flags) { case PHAR_SIG_MD5: - add_assoc_stringl(return_value, "hash_type", "MD5", 3, 1); + add_assoc_stringl(return_value, "hash_type", "MD5", 3); break; case PHAR_SIG_SHA1: - add_assoc_stringl(return_value, "hash_type", "SHA-1", 5, 1); + add_assoc_stringl(return_value, "hash_type", "SHA-1", 5); break; case PHAR_SIG_SHA256: - add_assoc_stringl(return_value, "hash_type", "SHA-256", 7, 1); + add_assoc_stringl(return_value, "hash_type", "SHA-256", 7); break; case PHAR_SIG_SHA512: - add_assoc_stringl(return_value, "hash_type", "SHA-512", 7, 1); + add_assoc_stringl(return_value, "hash_type", "SHA-512", 7); break; case PHAR_SIG_OPENSSL: - add_assoc_stringl(return_value, "hash_type", "OpenSSL", 7, 1); + add_assoc_stringl(return_value, "hash_type", "OpenSSL", 7); break; default: unknown_len = spprintf(&unknown, 0, "Unknown (%u)", phar_obj->arc.archive->sig_flags); - add_assoc_stringl(return_value, "hash_type", unknown, unknown_len, 0); + // TODO: avoid reallocation ??? + add_assoc_stringl(return_value, "hash_type", unknown, unknown_len); + efree(unknown); break; } } else { |
