Rework maximum recursion level code

git-svn: trunk@2739
remotes/push_mirror/metadata
Nigel Horne 19 years ago
parent e98f12a201
commit a5faab667d
  1. 4
      clamav-devel/ChangeLog
  2. 19
      clamav-devel/libclamav/mbox.c

@ -1,3 +1,7 @@
Tue Feb 13 13:05:30 GMT 2007 (njh)
----------------------------------
* libclamav/mbox.c: Rework maximum recursion level code (patch by TK)
Tue Feb 13 11:59:32 CET 2007 (tk)
---------------------------------
* libclamav/cab.c: properly handle errors from mspack

@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
static char const rcsid[] = "$Id: mbox.c,v 1.377 2007/02/13 10:02:05 njh Exp $";
static char const rcsid[] = "$Id: mbox.c,v 1.378 2007/02/13 13:04:40 njh Exp $";
#ifdef _MSC_VER
#include <winsock.h> /* only needed in CL_EXPERIMENTAL */
@ -2046,12 +2046,15 @@ parseEmailBody(message *messageIn, text *textIn, mbox_ctx *mctx, unsigned int re
/*
* This is approximate
*/
if(BLOCKMAX &&
(recursion_level > ctx->limits->maxmailrec)) {
cli_warnmsg("parseEmailBody: hit maximum recursion level (%u)\n",
recursion_level);
*ctx->virname = "MIME.RecursionLimit";
return VIRUS;
if(recursion_level > ctx->limits->maxmailrec) {
cli_warnmsg("parseEmailBody: hit maximum recursion level (%u)\n", recursion_level);
if(BLOCKMAX) {
if(ctx->virname)
*ctx->virname = "MIME.RecursionLimit";
return VIRUS;
} else
return OK_ATTACHMENTS_NOT_SAVED;
}
}
@ -2187,7 +2190,7 @@ parseEmailBody(message *messageIn, text *textIn, mbox_ctx *mctx, unsigned int re
break;
}
} else if(t_line->t_next &&
(encodingLine(mainMessage) == t_line->t_next)) {
(encodingLine(mainMessage) == t_line->t_next)) {
/*
* We look for the next line
* since later on we'll skip

Loading…
Cancel
Save