v2.3.3 rc1 - Error: sieve: !!BUG!!: Binary compiled from dovecot.sieve is still corrupt

James list at xdrv.co.uk
Mon Oct 1 20:55:07 EEST 2018


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.











More information about the dovecot mailing list