Re: Silly coding in pgcrypto - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: Silly coding in pgcrypto
Date
Msg-id 5456A763.90206@fuzzy.cz
Whole thread Raw
In response to Re: Silly coding in pgcrypto  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
On 2.11.2014 22:34, Noah Misch wrote:
> On Sun, Nov 02, 2014 at 05:10:25AM +0100, Marko Tiikkaja wrote:
>> *** a/contrib/pgcrypto/pgp-decrypt.c
>> --- b/contrib/pgcrypto/pgp-decrypt.c
>> ***************
>> *** 1069,1075 **** pgp_skip_packet(PullFilter *pkt)
>>   
>>       while (res > 0)
>>           res = pullf_read(pkt, 32 * 1024, &tmp);
>> !     return res < 0 ? res : 0;
>>   }
>>   
>>   /*
>> --- 1069,1075 ----
>>   
>>       while (res > 0)
>>           res = pullf_read(pkt, 32 * 1024, &tmp);
>> !     return res;
> 
> Why is the old code silly and the new code correct?

The loop only terminates when (res > 0) is false, i.e. (res <= 0), which
makes the expression after the return statement pointless:
 (res == 0) -> 0 (res < 0)  -> res

So it's 'res' all the time.

Tomas



pgsql-hackers by date:

Previous
From: Noah Misch
Date:
Subject: Re: Silly coding in pgcrypto
Next
From: Marko Tiikkaja
Date:
Subject: Re: Silly coding in pgcrypto