X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fbmi_spam.c;h=03e8defa6919fe405407a3fe65b054776b45a43d;hb=4f7a93c27e3d43b44c42d3fc503f03b9b42ca622;hp=6972bc3a7957bdac5f09028b0cd59448734974c6;hpb=53cc1417d804b27674f9e18fec09dee3badd080b;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/bmi_spam.c b/src/src/bmi_spam.c index 6972bc3a7..03e8defa6 100644 --- a/src/src/bmi_spam.c +++ b/src/src/bmi_spam.c @@ -5,6 +5,8 @@ /* Code for calling Brightmail AntiSpam. Copyright (c) Tom Kistner 2004 License: GPL */ +/* Copyright (c) The Exim Maintainers 2021 - 2022 */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include "exim.h" #ifdef EXPERIMENTAL_BRIGHTMAIL @@ -193,16 +195,16 @@ uschar *bmi_process_message(header_line *header_list, int data_fd) { /* Get store for the verdict string. Since we are processing message data, assume that the verdict is tainted. XXX this should use a growable-string */ - verdicts = store_get(1, TRUE); + verdicts = store_get(1, GET_TAINTED); *verdicts = '\0'; for ( err = bmiAccessFirstVerdict(message, &verdict); - verdict != NULL; + verdict; err = bmiAccessNextVerdict(message, verdict, &verdict) ) { char *verdict_str; err = bmiCreateStrFromVerdict(verdict,&verdict_str); - if (!store_extend(verdicts, TRUE, + if (!store_extend(verdicts, Ustrlen(verdicts)+1, Ustrlen(verdicts)+1+strlen(verdict_str)+1)) { /* can't allocate more store */ return NULL; @@ -302,7 +304,7 @@ uschar *bmi_get_alt_location(uschar *base64_verdict) { } else { /* deliver to alternate location */ - rc = store_get(strlen(bmiVerdictAccessDestination(verdict))+1, TRUE); + rc = store_get(strlen(bmiVerdictAccessDestination(verdict))+1, GET_TAINTED); Ustrcpy(rc, bmiVerdictAccessDestination(verdict)); rc[strlen(bmiVerdictAccessDestination(verdict))] = '\0'; }; @@ -327,7 +329,7 @@ uschar *bmi_get_base64_verdict(uschar *bmi_local_part, uschar *bmi_domain) { return NULL; /* allocate room for the b64 verdict string */ - verdict_buffer = store_get(Ustrlen(bmi_verdicts)+1, TRUE); + verdict_buffer = store_get(Ustrlen(bmi_verdicts)+1, GET_TAINTED); /* loop through verdicts */ verdict_ptr = bmi_verdicts;