On 01/10/2018 13:37, Stephan Bosch wrote:

I'd still like to know whether doing this helps somehow:

Does it help when you change the "> 0" at the following code position
to "!= 0" ?

https://github.com/dovecot/pigeonhole/blob/master/src/lib-sieve/sieve-binary-code.c#L300

--- ../original/src/lib-sieve/sieve-binary-code.c 2018-02-05 19:45:53.000000000 +0000
+++ src/lib-sieve/sieve-binary-code.c   2018-10-01 14:35:18.553169973 +0000
@@ -297,7 +297,7 @@
                return FALSE;

        /* Read first integer bytes [1xxxxxxx] */
-       while ( (ADDR_DATA_AT(address) & 0x80) > 0 ) {
+       while ( (ADDR_DATA_AT(address) & 0x80) != 0 ) {
                if ( ADDR_BYTES_LEFT(address) > 0 && bits > 0) {
                        integer |= ADDR_DATA_AT(address) & 0x7F;
                        ADDR_JUMP(address, 1);


Quick reply: It does. I can't see why.



James.









Reply via email to