summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/hash/hash_md.c11
-rw-r--r--ext/hash/hash_sha.c11
-rw-r--r--ext/standard/link.c2
-rw-r--r--ext/standard/md5.c11
-rw-r--r--ext/standard/sha1.c11
5 files changed, 17 insertions, 29 deletions
diff --git a/ext/hash/hash_md.c b/ext/hash/hash_md.c
index 09b4df1f99..f5166be42d 100644
--- a/ext/hash/hash_md.c
+++ b/ext/hash/hash_md.c
@@ -111,7 +111,6 @@ PHP_NAMED_FUNCTION(php_if_md5)
char *arg;
size_t arg_len;
zend_bool raw_output = 0;
- char md5str[33];
PHP_MD5_CTX context;
unsigned char digest[16];
@@ -119,15 +118,14 @@ PHP_NAMED_FUNCTION(php_if_md5)
return;
}
- md5str[0] = '\0';
PHP_MD5Init(&context);
PHP_MD5Update(&context, arg, arg_len);
PHP_MD5Final(digest, &context);
if (raw_output) {
RETURN_STRINGL(digest, 16);
} else {
- make_digest(md5str, digest);
- RETVAL_STRING(md5str);
+ RETVAL_NEW_STR(zend_string_alloc(32, 0));
+ make_digest(Z_STRVAL_P(return_value), digest);
}
}
@@ -140,7 +138,6 @@ PHP_NAMED_FUNCTION(php_if_md5_file)
char *arg;
size_t arg_len;
zend_bool raw_output = 0;
- char md5str[33];
unsigned char buf[1024];
unsigned char digest[16];
PHP_MD5_CTX context;
@@ -173,8 +170,8 @@ PHP_NAMED_FUNCTION(php_if_md5_file)
if (raw_output) {
RETURN_STRINGL(digest, 16);
} else {
- make_digest(md5str, digest);
- RETVAL_STRING(md5str);
+ RETVAL_NEW_STR(zend_string_alloc(32, 0));
+ make_digest(Z_STRVAL_P(return_value), digest);
}
}
/* }}} */
diff --git a/ext/hash/hash_sha.c b/ext/hash/hash_sha.c
index 24c2d9fb36..368176ea95 100644
--- a/ext/hash/hash_sha.c
+++ b/ext/hash/hash_sha.c
@@ -92,7 +92,6 @@ PHP_FUNCTION(sha1)
char *arg;
size_t arg_len;
zend_bool raw_output = 0;
- char sha1str[41];
PHP_SHA1_CTX context;
unsigned char digest[20];
@@ -100,15 +99,14 @@ PHP_FUNCTION(sha1)
return;
}
- sha1str[0] = '\0';
PHP_SHA1Init(&context);
PHP_SHA1Update(&context, arg, arg_len);
PHP_SHA1Final(digest, &context);
if (raw_output) {
RETURN_STRINGL(digest, 20);
} else {
- make_sha1_digest(sha1str, digest);
- RETVAL_STRING(sha1str);
+ RETVAL_NEW_STR(zend_string_alloc(40, 0));
+ make_sha1_digest(Z_STRVAL_P(return_value), digest);
}
}
@@ -122,7 +120,6 @@ PHP_FUNCTION(sha1_file)
char *arg;
size_t arg_len;
zend_bool raw_output = 0;
- char sha1str[41];
unsigned char buf[1024];
unsigned char digest[20];
PHP_SHA1_CTX context;
@@ -155,8 +152,8 @@ PHP_FUNCTION(sha1_file)
if (raw_output) {
RETURN_STRINGL(digest, 20);
} else {
- make_sha1_digest(sha1str, digest);
- RETVAL_STRING(sha1str);
+ RETVAL_NEW_STR(zend_string_alloc(40, 0));
+ make_sha1_digest(Z_STRVAL_P(return_value), digest);
}
}
/* }}} */
diff --git a/ext/standard/link.c b/ext/standard/link.c
index 71af20c878..3138c463af 100644
--- a/ext/standard/link.c
+++ b/ext/standard/link.c
@@ -76,7 +76,7 @@ PHP_FUNCTION(readlink)
/* Append NULL to the end of the string */
buff[ret] = '\0';
- RETURN_STRING(buff);
+ RETURN_STRINGL(buff, ret);
}
/* }}} */
diff --git a/ext/standard/md5.c b/ext/standard/md5.c
index 68503781a6..23e856ef61 100644
--- a/ext/standard/md5.c
+++ b/ext/standard/md5.c
@@ -48,7 +48,6 @@ PHP_NAMED_FUNCTION(php_if_md5)
{
zend_string *arg;
zend_bool raw_output = 0;
- char md5str[33];
PHP_MD5_CTX context;
unsigned char digest[16];
@@ -58,15 +57,14 @@ PHP_NAMED_FUNCTION(php_if_md5)
Z_PARAM_BOOL(raw_output)
ZEND_PARSE_PARAMETERS_END();
- md5str[0] = '\0';
PHP_MD5Init(&context);
PHP_MD5Update(&context, ZSTR_VAL(arg), ZSTR_LEN(arg));
PHP_MD5Final(digest, &context);
if (raw_output) {
RETURN_STRINGL((char *) digest, 16);
} else {
- make_digest_ex(md5str, digest, 16);
- RETVAL_STRING(md5str);
+ RETVAL_NEW_STR(zend_string_alloc(32, 0));
+ make_digest_ex(Z_STRVAL_P(return_value), digest, 16);
}
}
@@ -79,7 +77,6 @@ PHP_NAMED_FUNCTION(php_if_md5_file)
char *arg;
size_t arg_len;
zend_bool raw_output = 0;
- char md5str[33];
unsigned char buf[1024];
unsigned char digest[16];
PHP_MD5_CTX context;
@@ -118,8 +115,8 @@ PHP_NAMED_FUNCTION(php_if_md5_file)
if (raw_output) {
RETURN_STRINGL((char *) digest, 16);
} else {
- make_digest_ex(md5str, digest, 16);
- RETVAL_STRING(md5str);
+ RETVAL_NEW_STR(zend_string_alloc(32, 0));
+ make_digest_ex(Z_STRVAL_P(return_value), digest, 16);
}
}
/* }}} */
diff --git a/ext/standard/sha1.c b/ext/standard/sha1.c
index 1866c1d4f0..fa390d9ea0 100644
--- a/ext/standard/sha1.c
+++ b/ext/standard/sha1.c
@@ -36,7 +36,6 @@ PHP_FUNCTION(sha1)
{
zend_string *arg;
zend_bool raw_output = 0;
- char sha1str[41];
PHP_SHA1_CTX context;
unsigned char digest[20];
@@ -46,15 +45,14 @@ PHP_FUNCTION(sha1)
Z_PARAM_BOOL(raw_output)
ZEND_PARSE_PARAMETERS_END();
- sha1str[0] = '\0';
PHP_SHA1Init(&context);
PHP_SHA1Update(&context, (unsigned char *) ZSTR_VAL(arg), ZSTR_LEN(arg));
PHP_SHA1Final(digest, &context);
if (raw_output) {
RETURN_STRINGL((char *) digest, 20);
} else {
- make_digest_ex(sha1str, digest, 20);
- RETVAL_STRING(sha1str);
+ RETVAL_NEW_STR(zend_string_alloc(40, 0));
+ make_digest_ex(Z_STRVAL_P(return_value), digest, 20);
}
}
@@ -69,7 +67,6 @@ PHP_FUNCTION(sha1_file)
char *arg;
size_t arg_len;
zend_bool raw_output = 0;
- char sha1str[41];
unsigned char buf[1024];
unsigned char digest[20];
PHP_SHA1_CTX context;
@@ -100,8 +97,8 @@ PHP_FUNCTION(sha1_file)
if (raw_output) {
RETURN_STRINGL((char *) digest, 20);
} else {
- make_digest_ex(sha1str, digest, 20);
- RETVAL_STRING(sha1str);
+ RETVAL_NEW_STR(zend_string_alloc(40, 0));
+ make_digest_ex(Z_STRVAL_P(return_value), digest, 20);
}
}
/* }}} */