|
|
|
@ -204,10 +204,18 @@ char * php_md5_crypt_r(const char *pw, const char *salt, char *out) { |
|
|
|
|
|
|
|
memcpy(passwd, MD5_MAGIC, MD5_MAGIC_LEN); |
|
|
|
|
|
|
|
if (strncpy_s(passwd + MD5_MAGIC_LEN, MD5_HASH_MAX_LEN - MD5_MAGIC_LEN, sp, sl + 1) != 0) { |
|
|
|
#ifdef strncpy_s |
|
|
|
if (strncpy_s(passwd + MD5_MAGIC_LEN, MD5_HASH_MAX_LEN - MD5_MAGIC_LEN, sp, sl + 1) != 0) { |
|
|
|
goto _destroyCtx1; |
|
|
|
} |
|
|
|
strcat_s(passwd, MD5_HASH_MAX_LEN, "$"); |
|
|
|
#else |
|
|
|
/* VC6 version doesn't have strcat_s or strncpy_s */ |
|
|
|
if (strncpy(passwd + MD5_MAGIC_LEN, sp, sl + 1) != 0) { |
|
|
|
goto _destroyCtx1; |
|
|
|
} |
|
|
|
strcat_s(passwd, MD5_HASH_MAX_LEN, "$"); |
|
|
|
strcat(passwd, "$"); |
|
|
|
#endif |
|
|
|
|
|
|
|
dwHashLen = 16; |
|
|
|
|
|
|
|
|