git-svn: trunk@3154
Nigel Horne authored on 2007/07/16 19:02:15... | ... |
@@ -1,3 +1,7 @@ |
1 |
+Mon Jul 16 10:08:26 BST 2007 (njh) |
|
2 |
+---------------------------------- |
|
3 |
+ * clamav-milter: Fix memory leak when load balancing |
|
4 |
+ |
|
1 | 5 |
Mon Jul 16 07:43:19 BST 2007 (njh) |
2 | 6 |
---------------------------------- |
3 | 7 |
* clamav-milter: Experimental mode: Fix INCLUDE loop handling bug |
... | ... |
@@ -2345,11 +2345,11 @@ findServer(void) |
2345 | 2345 |
*/ |
2346 | 2346 |
j = cli_rndnum(numServers); |
2347 | 2347 |
|
2348 |
- tids = cli_malloc(numServers * sizeof(pthread_t)); |
|
2349 |
- |
|
2350 | 2348 |
for(i = 0; i < numServers; i++) |
2351 | 2349 |
socks[i].sock = -1; |
2352 | 2350 |
|
2351 |
+ tids = cli_malloc(numServers * sizeof(pthread_t)); |
|
2352 |
+ |
|
2353 | 2353 |
for(i = 0, server = servers; i < numServers; i++, server++) { |
2354 | 2354 |
int sock; |
2355 | 2355 |
int server_index = (i + j) % numServers; |
... | ... |
@@ -2371,6 +2371,7 @@ findServer(void) |
2371 | 2371 |
} while(--i >= 0); |
2372 | 2372 |
free(socks); |
2373 | 2373 |
free(servers); |
2374 |
+ free(tids); |
|
2374 | 2375 |
return 0; /* Use the first server on failure */ |
2375 | 2376 |
} |
2376 | 2377 |
|
... | ... |
@@ -2386,6 +2387,7 @@ findServer(void) |
2386 | 2386 |
} while(--i >= 0); |
2387 | 2387 |
free(socks); |
2388 | 2388 |
free(servers); |
2389 |
+ free(tids); |
|
2389 | 2390 |
return 0; /* Use the first server on failure */ |
2390 | 2391 |
} |
2391 | 2392 |
} |
... | ... |
@@ -2410,6 +2412,7 @@ findServer(void) |
2410 | 2410 |
} |
2411 | 2411 |
|
2412 | 2412 |
free(servers); |
2413 |
+ free(tids); |
|
2413 | 2414 |
|
2414 | 2415 |
if(maxsock == -1) { |
2415 | 2416 |
logg(_("^Couldn't establish a connexion to any clamd server\n")); |
... | ... |
@@ -3436,7 +3439,8 @@ clamfi_eom(SMFICTX *ctx) |
3436 | 3436 |
table_t *prevhosts = tableCreate(); |
3437 | 3437 |
|
3438 | 3438 |
if(spf(privdata, prevhosts)) { |
3439 |
- logg(_("%s: Ignoring phish false positive\n"), sendmailId); |
|
3439 |
+ logg(_("%s: ignoring phish false positive from %s received from %s\n"), |
|
3440 |
+ sendmailId, privdata->from, privdata->ip); |
|
3440 | 3441 |
strcpy(mess, "OK"); |
3441 | 3442 |
} |
3442 | 3443 |
tableDestroy(prevhosts); |