summaryrefslogtreecommitdiff
path: root/ext/hash/hash_md.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/hash/hash_md.c')
-rw-r--r--ext/hash/hash_md.c11
1 files changed, 4 insertions, 7 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);
}
}
/* }}} */