mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +01:00
replace malloc with tor_malloc; remove broken/unused crypto_pk_set_key
svn:r292
This commit is contained in:
parent
c94d42fa41
commit
59029a3eed
@ -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()))
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user