Browse Source

Secure versions of string functions don't exist for VC6

experimental/first_unicode_implementation
Elizabeth Marie Smith 18 years ago
parent
commit
fec135a4e3
  1. 12
      ext/standard/php_crypt_r.c

12
ext/standard/php_crypt_r.c

@ -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;

Loading…
Cancel
Save