diff --git a/src/smblib/smbhash.c b/src/smblib/smbhash.c
index d5c7ed117d5ca25ab6bc033e1857b3ba1bba0711..b670dda8cdb436901c50a77ccb4fa2ed41413c35 100644
--- a/src/smblib/smbhash.c
+++ b/src/smblib/smbhash.c
@@ -64,7 +64,6 @@ int SMBCALL smb_findhash(smb_t* smb, hash_t** compare, hash_t* found_hash,
 
 		rewind(smb->hash_fp);
 		while(!feof(smb->hash_fp)) {
-			memset(&hash,0,sizeof(hash));
 			if(smb_fread(smb,&hash,sizeof(hash),smb->hash_fp)!=sizeof(hash))
 				break;
 
@@ -180,6 +179,7 @@ hash_t* SMBCALL smb_hash(ulong msgnum, ulong t, unsigned source, unsigned flags
 	if((hash=(hash_t*)malloc(sizeof(hash_t)))==NULL)
 		return(NULL);
 
+	memset(hash,0,sizeof(hash_t));
 	hash->number=msgnum;
 	hash->time=t;
 	hash->length=length;