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 {  | 
