- fixed memleak in sha1
This commit is contained in:
parent
781fadcc33
commit
2f85618126
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
typedef enum hash_algorithm_e hash_algorithm_t;
|
||||
|
||||
enum hash_algorithm_e {
|
||||
SHA1,
|
||||
MD5
|
||||
HASH_SHA1,
|
||||
HASH_MD5
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -206,21 +206,21 @@ 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;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
SHA1Update(this, chunk.ptr, chunk.len);
|
||||
if (hash != NULL)
|
||||
{
|
||||
SHA1Final(this, allocated_hash.ptr);
|
||||
this->public.hasher_interface.reset(&(this->public.hasher_interface));
|
||||
}
|
||||
|
||||
*hash = allocated_hash;
|
||||
}
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue