From 3144ab58a6063e6658d228c4bdf22827c2249a49 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 27 May 2007 12:43:06 +0000 Subject: Paranoia changes (shouldn't have any real effect, though...) svn-id: r26972 --- common/md5.cpp | 12 ++++++------ common/md5.h | 7 ++++--- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'common') diff --git a/common/md5.cpp b/common/md5.cpp index 700897e08f..ac90ddb2e4 100644 --- a/common/md5.cpp +++ b/common/md5.cpp @@ -301,37 +301,37 @@ bool md5_file(ReadStream &stream, uint8 digest[16], uint32 length) { return true; } -bool md5_file_string(const FilesystemNode &file, char md5str[32+1], uint32 length) { +bool md5_file_string(const FilesystemNode &file, char *md5str, uint32 length) { uint8 digest[16]; if (!md5_file(file, digest, length)) return false; for (int i = 0; i < 16; i++) { - sprintf(md5str + i*2, "%02x", (int)digest[i]); + snprintf(md5str + i*2, 3, "%02x", (int)digest[i]); } return true; } -bool md5_file_string(const char *name, char md5str[32+1], uint32 length) { +bool md5_file_string(const char *name, char *md5str, uint32 length) { uint8 digest[16]; if (!md5_file(name, digest, length)) return false; for (int i = 0; i < 16; i++) { - sprintf(md5str + i*2, "%02x", (int)digest[i]); + snprintf(md5str + i*2, 3, "%02x", (int)digest[i]); } return true; } -bool md5_file_string(ReadStream &stream, char md5str[32+1], uint32 length) { +bool md5_file_string(ReadStream &stream, char *md5str, uint32 length) { uint8 digest[16]; if (!md5_file(stream, digest, length)) return false; for (int i = 0; i < 16; i++) { - sprintf(md5str + i*2, "%02x", (int)digest[i]); + snprintf(md5str + i*2, 3, "%02x", (int)digest[i]); } return true; diff --git a/common/md5.h b/common/md5.h index 6700ff355f..fa03465ac8 100644 --- a/common/md5.h +++ b/common/md5.h @@ -35,9 +35,10 @@ bool md5_file(ReadStream &stream, uint8 digest[16], uint32 length = 0); // The following two methods work similar to the above two, but // instead of computing the binary MD5 digest, they produce // a human readable lowercase hexstring representing the digest. -bool md5_file_string(const char *name, char md5str[32+1], uint32 length = 0); -bool md5_file_string(const FilesystemNode &file, char md5str[32+1], uint32 length = 0); -bool md5_file_string(ReadStream &stream, char md5str[32+1], uint32 length = 0); +// The md5str parameter must point to a buffer of 32+1 chars. +bool md5_file_string(const char *name, char *md5str, uint32 length = 0); +bool md5_file_string(const FilesystemNode &file, char *md5str, uint32 length = 0); +bool md5_file_string(ReadStream &stream, char *md5str, uint32 length = 0); } // End of namespace Common -- cgit v1.2.3