diff --git a/src/hash/md5.c b/src/hash/md5.c
index 2848954852b47b1487db5701242568320b7c2acf..fecd84c6782c32a9321a9115b1b97c33571bfa0c 100644
--- a/src/hash/md5.c
+++ b/src/hash/md5.c
@@ -275,7 +275,7 @@ BYTE* MD5CALL MD5_hex(BYTE* to, const BYTE digest[MD5_DIGEST_SIZE])
 	BYTE const* from = digest;
     static char *hexdigits = "0123456789abcdef";
     const BYTE *end = digest + MD5_DIGEST_SIZE;
-    char *d = to;
+    char *d = (char *)to;
 
     while (from < end) {
 		*d++ = hexdigits[(*from >> 4)];
diff --git a/src/smblib/smbdump.c b/src/smblib/smbdump.c
index 47dbf9e2e3fbc19e9bcf8dae0d9d8cb6972332cd..2a44b7ad5dc7f92b6347873ec9889d09915ddc4e 100644
--- a/src/smblib/smbdump.c
+++ b/src/smblib/smbdump.c
@@ -50,7 +50,7 @@ static char *binstr(uchar *buf, ushort length)
 			&& buf[i]!='\r' && buf[i]!='\n' && buf[i]!='\t')
 			break;
 	if(i==length)		/* not binary */
-		return(buf);
+		return((char*)buf);
 	for(i=0;i<length;i++) {
 		sprintf(tmp,"%02X ",buf[i]);
 		strcat(str,tmp); 
diff --git a/src/smblib/smbhash.c b/src/smblib/smbhash.c
index e158657430b1edfb2836de71b19f20b9129bf4fa..69718e689cddaf93b3bf28dcb43562b0e800a3f3 100644
--- a/src/smblib/smbhash.c
+++ b/src/smblib/smbhash.c
@@ -163,7 +163,7 @@ static char* strip_chars(uchar* dst, const uchar* src, uchar* set)
 	}
 	*dst=0;
 
-	return(dst);
+	return((char *)dst);
 }
 
 /* Allocates and calculates hashes of data (based on flags)					*/
@@ -198,7 +198,7 @@ hash_t* SMBCALL smb_hash(ulong msgnum, ulong t, unsigned source, unsigned flags
 hash_t* SMBCALL smb_hashstr(ulong msgnum, ulong t, unsigned source, unsigned flags
 							,const char* str)
 {
-	char*	p=(uchar*)str;
+	char*	p=(char *)str;
 	hash_t*	hash;
 
 	if(flags&SMB_HASH_PROC_MASK) {	/* string pre-processing */