- fixed memleak in sha1

This commit is contained in:
Martin Willi 2005-11-22 07:50:19 +00:00
parent 781fadcc33
commit 2f85618126
3 changed files with 13 additions and 13 deletions

View File

@ -34,11 +34,11 @@ hasher_t *hasher_create(hash_algorithm_t hash_algorithm)
{
switch (hash_algorithm)
{
case SHA1:
case HASH_SHA1:
{
return (hasher_t*)hasher_sha1_create();
}
case MD5:
case HASH_MD5:
default:
return NULL;
}

View File

@ -32,8 +32,8 @@
typedef enum hash_algorithm_e hash_algorithm_t;
enum hash_algorithm_e {
SHA1,
MD5
HASH_SHA1,
HASH_MD5
};

View File

@ -206,22 +206,22 @@ static status_t get_hash(private_hasher_sha1_t *this, chunk_t chunk, u_int8_t *b
static status_t allocate_hash(private_hasher_sha1_t *this, chunk_t chunk, chunk_t *hash)
{
chunk_t allocated_hash;
allocated_hash.ptr = allocator_alloc(BLOCK_SIZE_SHA1);
allocated_hash.len = BLOCK_SIZE_SHA1;
if (allocated_hash.ptr == NULL)
{
return OUT_OF_RES;
}
SHA1Update(this, chunk.ptr, chunk.len);
if (hash != NULL)
{
{
allocated_hash.ptr = allocator_alloc(BLOCK_SIZE_SHA1);
allocated_hash.len = BLOCK_SIZE_SHA1;
if (allocated_hash.ptr == NULL)
{
return OUT_OF_RES;
}
SHA1Final(this, allocated_hash.ptr);
this->public.hasher_interface.reset(&(this->public.hasher_interface));
*hash = allocated_hash;
}
*hash = allocated_hash;
return SUCCESS;
}