... | ... |
@@ -148,7 +148,6 @@ static void nullify(SMFICTX *ctx, struct CLAMFI *cf, enum CFWHAT closewhat) { |
148 | 148 |
free(cf->recipients); |
149 | 149 |
} |
150 | 150 |
smfi_setpriv(ctx, NULL); |
151 |
- free(cf); |
|
152 | 151 |
} |
153 | 152 |
|
154 | 153 |
|
... | ... |
@@ -225,6 +224,7 @@ sfsistat clamfi_header(SMFICTX *ctx, char *headerf, char *headerv) { |
225 | 225 |
if(!cf->totsz && cf->all_whitelisted) { |
226 | 226 |
logg("*Skipping scan (all destinations whitelisted)\n"); |
227 | 227 |
nullify(ctx, cf, CF_NONE); |
228 |
+ free(cf); |
|
228 | 229 |
return SMFIS_ACCEPT; |
229 | 230 |
} |
230 | 231 |
|
... | ... |
@@ -244,18 +244,18 @@ sfsistat clamfi_header(SMFICTX *ctx, char *headerf, char *headerv) { |
244 | 244 |
if(!strcasecmp(headerf, "X-Virus-Status")) cf->status_count++; |
245 | 245 |
} |
246 | 246 |
|
247 |
- if((ret = sendchunk(cf, (unsigned char *)headerf, strlen(headerf), ctx)) != SMFIS_CONTINUE) |
|
248 |
- return ret; |
|
249 |
- if (!(cf)) |
|
250 |
- return SMFIS_CONTINUE; |
|
251 |
- if((ret = sendchunk(cf, (unsigned char *)": ", 2, ctx)) != SMFIS_CONTINUE) |
|
252 |
- return ret; |
|
253 |
- if (!(cf)) |
|
254 |
- return SMFIS_CONTINUE; |
|
255 |
- if(headerv && (ret = sendchunk(cf, (unsigned char *)headerv, strlen(headerv), ctx)) != SMFIS_CONTINUE) |
|
256 |
- return ret; |
|
257 |
- if (!(cf)) |
|
258 |
- return SMFIS_CONTINUE; |
|
247 |
+ if((ret = sendchunk(cf, (unsigned char *)headerf, strlen(headerf), ctx)) != SMFIS_CONTINUE) { |
|
248 |
+ free(cf); |
|
249 |
+ return ret; |
|
250 |
+ } |
|
251 |
+ if((ret = sendchunk(cf, (unsigned char *)": ", 2, ctx)) != SMFIS_CONTINUE) { |
|
252 |
+ free(cf); |
|
253 |
+ return ret; |
|
254 |
+ } |
|
255 |
+ if(headerv && (ret = sendchunk(cf, (unsigned char *)headerv, strlen(headerv), ctx)) != SMFIS_CONTINUE) { |
|
256 |
+ free(cf); |
|
257 |
+ return ret; |
|
258 |
+ } |
|
259 | 259 |
return sendchunk(cf, (unsigned char *)"\r\n", 2, ctx); |
260 | 260 |
} |
261 | 261 |
|