diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index 1658d1a616bfe6a417beda67cbfe0c8abe1b2859..868469cfbb2378d95164a526247c161a85400173 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -2598,11 +2598,13 @@ static void D_MD5PasswordPass(const UINT8 *buffer, size_t len, const char *salt,
 	memset(dest, 0, 16);
 #else
 	XBOXSTATIC char tmpbuf[256];
+	const size_t sl = strlen(salt)
 
-	if (len > 256-strlen(salt))
-		len = 256-strlen(salt);
-	memmove(tmpbuf, buffer, len);
-	strcpy(&tmpbuf[len], salt);
+	if (len > 256-sl)
+		len = 256-s;;
+	memcpy(tmpbuf, buffer, len);
+	memmove(&tmpbuf[len], salt, sl);
+	//strcpy(&tmpbuf[len], salt);
 	len += strlen(salt);
 	if (len < 256)
 		memset(&tmpbuf[len],0,256-len);