summaryrefslogtreecommitdiffhomepage
path: root/coreutils/md5_sha1_sum.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils/md5_sha1_sum.c')
-rw-r--r--coreutils/md5_sha1_sum.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/coreutils/md5_sha1_sum.c b/coreutils/md5_sha1_sum.c
index 6fe1b0286..014ecefd0 100644
--- a/coreutils/md5_sha1_sum.c
+++ b/coreutils/md5_sha1_sum.c
@@ -18,11 +18,9 @@ typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
static unsigned char *hash_bin_to_hex(unsigned char *hash_value,
unsigned hash_length)
{
- int len = 0;
- char *hex_value = xmalloc((hash_length * 2) + 2);
- while (hash_length--) {
- len += sprintf(hex_value + len, "%02x", *hash_value++);
- }
+ /* xzalloc zero-terminates */
+ char *hex_value = xzalloc((hash_length * 2) + 1);
+ bin2hex(hex_value, (char*)hash_value, hash_length);
return hex_value;
}