[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b
aCaB
acab at clamav.net
Sun Apr 4 01:22:03 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit 37002feeeeed2dbbb46a9b6ec656a861eb2ab06a
Author: aCaB <acab at clamav.net>
Date: Sat Mar 6 03:40:38 2010 +0100
remove aborts from cache.c: it's gonna crash anyway :)
diff --git a/libclamav/cache.c b/libclamav/cache.c
index 7a0c6fd..4cd6c60 100644
--- a/libclamav/cache.c
+++ b/libclamav/cache.c
@@ -501,58 +501,19 @@ static inline void cacheset_add(struct cache_set *cs, unsigned char *md5, size_t
ptree("1:\n");
if(printtree(cs, cs->root, 0)) {
- abort();
+ cli_errmsg("cacheset_add: inconsistent tree before choosing newnode, good luck\n");
+ return;
}
newnode = cs->first;
- /*#define TAKE_FIRST*/
-#ifdef TAKE_FIRST
- if((newnode->left || newnode->right || newnode->up)) {
- if(!splay(newnode->digest, newnode->size, cs)) {
- cli_errmsg("WTF\n");
- abort();
- }
- if(!newnode->left) {
- cs->root = newnode->right;
- newnode->right->up = NULL;
- } else if(!newnode->right) {
- cs->root = newnode->left;
- newnode->left->up = NULL;
- } else {
- cs->root = newnode->left;
- newnode->left->up = NULL;
- if(splay(newnode->digest, newnode->size, cs)) {
- cli_errmsg("WTF #2\n");
- abort();
- }
- cs->root->up = NULL;
- cs->root->right = newnode->right;
- if(newnode->right) newnode->right->up = cs->root;
- }
- newnode->up = NULL;
- newnode->right = NULL;
- newnode->left = NULL;
- if(splay(hash, size, cs)) {
- cli_errmsg("WTF #3\n");
- abort();
- }
- }
- newnode->prev = cs->last;
- cs->last->next = newnode;
- cs->last = newnode;
- newnode->next->prev = NULL;
- cs->first = newnode->next;
- newnode->next = NULL;
-
-#else
while(newnode) {
if(!newnode->right && !newnode->left)
break;
newnode = newnode->next;
}
if(!newnode) {
- cli_errmsg("NO NEWNODE!\n");
- abort();
+ cli_errmsg("cacheset_add: tree has got no end nodes\n");
+ return;
}
if(newnode->up) {
if(newnode->up->left == newnode)
@@ -571,11 +532,11 @@ static inline void cacheset_add(struct cache_set *cs, unsigned char *md5, size_t
newnode->next = NULL;
cs->last->next = newnode;
cs->last = newnode;
-#endif
ptree("2:\n");
if(printtree(cs, cs->root, 0)) {
- abort();
+ cli_errmsg("cacheset_add: inconsistent tree before adding newnode, good luck\n");
+ return;
}
if(!cs->root) {
@@ -603,7 +564,8 @@ static inline void cacheset_add(struct cache_set *cs, unsigned char *md5, size_t
ptree("3: %lld\n", hash[1]);
if(printtree(cs, cs->root, 0)) {
- abort();
+ cli_errmsg("cacheset_add: inconsistent tree after adding newnode, good luck\n");
+ return;
}
}
#endif /* USE_SPLAY */
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list