Browse Source

Realized that emalloc() never returns NULL, simplified code

PHP-4.0.5
Stig Venaas 25 years ago
parent
commit
fe98565b60
  1. 53
      ext/openssl/openssl.c

53
ext/openssl/openssl.c

@ -292,9 +292,6 @@ PHP_FUNCTION(openssl_sign)
ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, key, -1, "OpenSSL key", le_key);
siglen = EVP_PKEY_size(pkey);
sigbuf = emalloc(siglen + 1);
if (sigbuf == NULL) {
RETURN_FALSE;
}
EVP_SignInit(&md_ctx, EVP_sha1());
EVP_SignUpdate(&md_ctx, Z_STRVAL_PP(data), Z_STRLEN_PP(data));
@ -304,8 +301,8 @@ PHP_FUNCTION(openssl_sign)
ZVAL_STRINGL(*signature, sigbuf, siglen, 0);
RETURN_TRUE;
} else {
RETURN_FALSE;
efree(sigbuf);
RETURN_FALSE;
}
}
/* }}} */
@ -366,20 +363,8 @@ PHP_FUNCTION(openssl_seal)
}
pkeys = emalloc(nkeys * sizeof(*pkeys));
if (pkeys == NULL) {
RETURN_FALSE;
}
eksl = emalloc(nkeys * sizeof(*eksl));
if (eksl == NULL) {
efree(pkeys);
RETURN_FALSE;
}
eks = emalloc(nkeys * sizeof(*eks));
if (eks == NULL) {
efree(eksl);
efree(pkeys);
RETURN_FALSE;
}
convert_to_string_ex(data);
@ -390,15 +375,6 @@ PHP_FUNCTION(openssl_seal)
ZEND_FETCH_RESOURCE(pkeys[i], EVP_PKEY *, pubkey, -1,
"OpenSSL key", le_key);
eks[i] = emalloc(EVP_PKEY_size(pkeys[i]) + 1);
if (eks[i] == NULL) {
while (i--) {
efree(eks[i]);
}
efree(eks);
efree(eksl);
efree(pkeys);
RETURN_FALSE;
}
zend_hash_move_forward_ex(pubkeysht, &pos);
i++;
}
@ -420,32 +396,10 @@ PHP_FUNCTION(openssl_seal)
#if 0
/* Need this if allow ciphers that require initialization vector */
ivlen = EVP_CIPHER_CTX_iv_length(&ctx);
if (ivlen) {
iv = emalloc(ivlen + 1);
if (iv == NULL) {
for (i=0; i<nkeys; i++) {
efree(eks[i]);
}
efree(eks);
efree(eksl);
efree(pkeys);
RETURN_FALSE;
}
} else {
iv = NULL;
}
iv = ivlen ? emalloc(ivlen + 1) : NULL;
#endif
/* allocate one byte extra to make room for \0 */
buf = emalloc(Z_STRLEN_PP(data) + EVP_CIPHER_CTX_block_size(&ctx));
if (buf == NULL) {
for (i=0; i<nkeys; i++) {
efree(eks[i]);
}
efree(eks);
efree(eksl);
efree(pkeys);
RETURN_FALSE;
}
if (!EVP_SealInit(&ctx, EVP_rc4(), eks, eksl, NULL, pkeys, nkeys)
#if OPENSSL_VERSION_NUMBER >= 0x0090600fL
@ -542,9 +496,6 @@ PHP_FUNCTION(openssl_open)
le_key);
buf = emalloc(Z_STRLEN_PP(data) + 1);
if (buf == NULL) {
RETURN_FALSE;
}
if (EVP_OpenInit(&ctx, EVP_rc4(), Z_STRVAL_PP(ekey),
Z_STRLEN_PP(ekey), NULL, pkey)

Loading…
Cancel
Save