At 10:51 -0500 2002/12/13, 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.
aren't the two equivalent? The second expression is not evalued
unless the first is true. If this is defined behaviour and if a
compiler does differently then the bug is in the compiler.
Giuliano