Browse Source

Fixed bug relating to un-initialized memory access

pull/271/head
Ilia Alshanetsky 15 years ago
parent
commit
1a4456bb76
  1. 3
      ext/standard/crypt_sha256.c
  2. 4
      ext/standard/crypt_sha512.c

3
ext/standard/crypt_sha256.c

@ -395,9 +395,10 @@ char * php_sha256_crypt_r(const char *key, const char *salt, char *buffer, int b
}
if ((salt - (char *) 0) % __alignof__(uint32_t) != 0) {
char *tmp = (char *) alloca(salt_len + __alignof__(uint32_t));
char *tmp = (char *) alloca(salt_len + 1 + __alignof__(uint32_t));
salt = copied_salt =
memcpy(tmp + __alignof__(uint32_t) - (tmp - (char *) 0) % __alignof__ (uint32_t), salt, salt_len);
tmp[salt_len] = 0;
}
/* Prepare for the real work. */

4
ext/standard/crypt_sha512.c

@ -430,8 +430,8 @@ php_sha512_crypt_r(const char *key, const char *salt, char *buffer, int buflen)
}
if ((salt - (char *) 0) % __alignof__ (uint64_t) != 0) {
char *tmp = (char *) alloca(salt_len + __alignof__(uint64_t));
char *tmp = (char *) alloca(salt_len + 1 + __alignof__(uint64_t));
tmp[salt_len] = 0;
salt = copied_salt = memcpy(tmp + __alignof__(uint64_t) - (tmp - (char *) 0) % __alignof__(uint64_t), salt, salt_len);
}

Loading…
Cancel
Save