On Fri, 13 Dec 2002, Rick Ennis wrote:
> Philip,
>
> I think I found it. In "smtp_read_command()", smtp_in.c, line 440, your
>
> if (!p->is_mail_cmd &&
> ++nonmail_command_count > smtp_accept_max_nonmail)
>
> the "++" is incrementing the variable before any of the 'if' is evaluated.
> It's not conditionally incremented as intended. So something like...
>
> if (!p->is_mail_cmd)
> if (++nonmail_command_count > smtp_accept_max_nonmail)
>
> probably ought to fix it.
Very unlikely, the C-Compiler should generate code that does short
evaluation. So the ++nonmail_command_count SHOULD be only triggered if
!p->is_mail_cmd is set.
ciao