summaryrefslogtreecommitdiff
path: root/hash_intmd5.c
diff options
context:
space:
mode:
Diffstat (limited to 'hash_intmd5.c')
-rw-r--r--hash_intmd5.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/hash_intmd5.c b/hash_intmd5.c
index 64e0b9c..0b60f9b 100644
--- a/hash_intmd5.c
+++ b/hash_intmd5.c
@@ -49,18 +49,17 @@ HSH_Hash(int id, const unsigned char *in1, unsigned int in1_len,
const unsigned char *in2, unsigned int in2_len,
unsigned char *out, unsigned int out_len)
{
- if (out_len < 16)
- return 0;
-
MD5Init(&ctx);
MD5Update(&ctx, in1, in1_len);
if (in2)
MD5Update(&ctx, in2, in2_len);
MD5Final(&ctx);
- memcpy(out, ctx.digest, 16);
+ out_len = MIN(out_len, 16);
+
+ memcpy(out, ctx.digest, out_len);
- return 16;
+ return out_len;
}
void