replace malloc with tor_malloc; remove broken/unused crypto_pk_set_key

svn:r292
This commit is contained in:
Roger Dingledine 2003-05-20 06:37:34 +00:00
parent c94d42fa41
commit 59029a3eed
3 changed files with 24 additions and 35 deletions

View File

@ -91,9 +91,7 @@ crypto_pk_env_t *crypto_new_pk_env(int type)
{ {
crypto_pk_env_t *env; crypto_pk_env_t *env;
env = (crypto_pk_env_t *)malloc(sizeof(crypto_pk_env_t)); env = (crypto_pk_env_t *)tor_malloc(sizeof(crypto_pk_env_t));
if (!env)
return 0;
env->type = type; env->type = type;
env->refs = 1; env->refs = 1;
@ -185,9 +183,7 @@ crypto_cipher_env_t *crypto_new_cipher_env(int type)
crypto_cipher_env_t *env; crypto_cipher_env_t *env;
int iv_len, key_len; int iv_len, key_len;
env = (crypto_cipher_env_t *)malloc(sizeof(crypto_cipher_env_t)); env = (crypto_cipher_env_t *)tor_malloc(sizeof(crypto_cipher_env_t));
if (!env)
return NULL;
env->type = type; env->type = type;
env->key = NULL; env->key = NULL;
@ -201,15 +197,15 @@ crypto_cipher_env_t *crypto_new_cipher_env(int type)
/* This is not an openssl cipher */ /* This is not an openssl cipher */
goto err; goto err;
else { else {
env->aux = (unsigned char *)malloc(sizeof(EVP_CIPHER_CTX)); env->aux = (unsigned char *)tor_malloc(sizeof(EVP_CIPHER_CTX));
EVP_CIPHER_CTX_init((EVP_CIPHER_CTX *)env->aux); EVP_CIPHER_CTX_init((EVP_CIPHER_CTX *)env->aux);
} }
if (iv_len && !(env->iv = (unsigned char *)malloc(iv_len))) if(iv_len)
goto err; env->iv = (unsigned char *)tor_malloc(iv_len);
if (key_len && !(env->key = (unsigned char *)malloc(key_len))) if(key_len)
goto err; env->key = (unsigned char *)tor_malloc(key_len);
return env; return env;
err: err:
@ -367,9 +363,7 @@ int crypto_pk_write_public_key_to_string(crypto_pk_env_t *env, char **dest, int
BIO_set_close(b, BIO_NOCLOSE); /* so BIO_free doesn't free buf */ BIO_set_close(b, BIO_NOCLOSE); /* so BIO_free doesn't free buf */
BIO_free(b); BIO_free(b);
*dest = malloc(buf->length+1); *dest = tor_malloc(buf->length+1);
if(!*dest)
return -1;
memcpy(*dest, buf->data, buf->length); memcpy(*dest, buf->data, buf->length);
(*dest)[buf->length] = 0; /* null terminate it */ (*dest)[buf->length] = 0; /* null terminate it */
*len = buf->length; *len = buf->length;
@ -455,25 +449,6 @@ int crypto_pk_check_key(crypto_pk_env_t *env)
} }
} }
int crypto_pk_set_key(crypto_pk_env_t *env, unsigned char *key)
{
assert(env && key);
switch(env->type) {
case CRYPTO_PK_RSA:
if (!env->key)
return -1;
/* XXX BUG XXX you can't memcpy an RSA, it's got a bunch of subpointers */
assert(0);
memcpy((void *)env->key, (void *)key, sizeof(RSA));
break;
default :
return -1;
}
return 0;
}
int crypto_pk_cmp_keys(crypto_pk_env_t *a, crypto_pk_env_t *b) { int crypto_pk_cmp_keys(crypto_pk_env_t *a, crypto_pk_env_t *b) {
int result; int result;
@ -734,8 +709,7 @@ crypto_dh_env_t *crypto_dh_new()
if (!dh_param_p) if (!dh_param_p)
init_dh_param(); init_dh_param();
if (!(res = malloc(sizeof(crypto_dh_env_t)))) res = tor_malloc(sizeof(crypto_dh_env_t));
goto err;
res->dh = NULL; res->dh = NULL;
if (!(res->dh = DH_new())) if (!(res->dh = DH_new()))

View File

@ -7,6 +7,19 @@
#include "util.h" #include "util.h"
#include "log.h" #include "log.h"
void *tor_malloc(size_t size) {
void *result;
result = malloc(size);
if(!result) {
log(LOG_ERR,"tor_malloc(): Out of memory. Dying.");
exit(1);
}
return result;
}
void void
my_gettimeofday(struct timeval *timeval) my_gettimeofday(struct timeval *timeval)
{ {

View File

@ -7,6 +7,8 @@
#include <sys/time.h> #include <sys/time.h>
void *tor_malloc(size_t size);
/* Same as gettimeofday, but no need to check exit value. */ /* Same as gettimeofday, but no need to check exit value. */
void my_gettimeofday(struct timeval *timeval); void my_gettimeofday(struct timeval *timeval);
/* Returns the number of microseconds between start and end. Requires that /* Returns the number of microseconds between start and end. Requires that