From ddbe0e41befc5e84ca9852f3173edcc2611b0478 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Sat, 12 Nov 2016 21:37:28 +0000 Subject: [PATCH] 2 bug-fixes: - smb_addhashes() could leave the *.hash file open if passed no hashes - smb_hashmsg() should not be hashing votes (unnecessary) --- src/smblib/smbhash.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/smblib/smbhash.c b/src/smblib/smbhash.c index dcba6dbe7e..e21f63d419 100644 --- a/src/smblib/smbhash.c +++ b/src/smblib/smbhash.c @@ -1,5 +1,3 @@ -/* smbhash.c */ - /* Synchronet message base (SMB) hash-related functions */ /* $Id$ */ @@ -130,8 +128,10 @@ int SMBCALL smb_addhashes(smb_t* smb, hash_t** hashes, BOOL skip_marked) size_t h; COUNT_LIST_ITEMS(hashes, h); - if(!h) /* nothing to add */ + if(!h) { /* nothing to add */ + smb_close_hash(smb); return(SMB_SUCCESS); + } if((retval=smb_open_hash(smb))!=SMB_SUCCESS) return(retval); @@ -303,7 +303,7 @@ int SMBCALL smb_hashmsg(smb_t* smb, smbmsg_t* msg, const uchar* text, BOOL updat hash_t found; hash_t** hashes; /* This is a NULL-terminated list of hashes */ - if(smb->status.attr&(SMB_EMAIL|SMB_NOHASH)) + if(smb->status.attr&(SMB_EMAIL|SMB_NOHASH) || (msg->hdr.attr&MSG_VOTE)) return(SMB_SUCCESS); hashes=smb_msghashes(msg,text,SMB_HASH_SOURCE_DUPE); -- GitLab