Re: pgcryto failures on freebsd/alpha - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: pgcryto failures on freebsd/alpha
Date
Msg-id 200201030723.g037NPE21358@candle.pha.pa.us
Whole thread Raw
In response to Re: pgcryto failures on freebsd/alpha  (Marko Kreen <marko@l-t.ee>)
Responses Re: pgcryto failures on freebsd/alpha  (Marko Kreen <marko@l-t.ee>)
List pgsql-hackers
Patch applied because it is to /contrib and is from the author, and
fixes some unusual code.  Did testing the bottom two bits actually test
anything (res & 3)?


---------------------------------------------------------------------------

Marko Kreen wrote:
> On Thu, Jan 03, 2002 at 01:13:55AM -0500, Bruce Momjian wrote:
> > Marko Kreen wrote:
> > > On Fri, Dec 21, 2001 at 11:43:21AM +0800, Christopher Kings-Lynne wrote:
> > > > Just testing pgcrypto on freebsd/alpha.  I get some warnings:
> > > They should be harmless, although I should fix them.
> > 
> > The actual code is:
> > 
> >     if ((dlen & 15) || (((unsigned) res) & 3))
> >         return -1;
> 
> > Hard to imagine how (uint *) & 3 makes any sense, unless res isn't
> > always a (uint8 *).  Is that true?
> 
> At some point it was casted to (uint32*) so I wanted to be sure its ok.
> ATM its pointless.  Please apply the following patch.
> 
> -- 
> marko
> 
> 
> Index: contrib/pgcrypto/internal.c
> ===================================================================
> RCS file: /opt/cvs/pgsql/pgsql/contrib/pgcrypto/internal.c,v
> retrieving revision 1.10
> diff -u -r1.10 internal.c
> --- contrib/pgcrypto/internal.c    20 Nov 2001 18:54:07 -0000    1.10
> +++ contrib/pgcrypto/internal.c    21 Dec 2001 08:45:21 -0000
> @@ -311,7 +311,7 @@
>      if (dlen == 0)
>          return 0;
>  
> -    if ((dlen & 15) || (((unsigned) res) & 3))
> +    if (dlen & 15)
>          return -1;
>  
>      memcpy(res, data, dlen);
> @@ -339,7 +339,7 @@
>      if (dlen == 0)
>          return 0;
>  
> -    if ((dlen & 15) || (((unsigned) res) & 3))
> +    if (dlen & 15)
>          return -1;
>  
>      memcpy(res, data, dlen);
> @@ -426,7 +426,7 @@
>      if (dlen == 0)
>          return 0;
>  
> -    if ((dlen & 7) || (((unsigned) res) & 3))
> +    if (dlen & 7)
>          return -1;
>  
>      memcpy(res, data, dlen);
> @@ -450,7 +450,7 @@
>      if (dlen == 0)
>          return 0;
>  
> -    if ((dlen & 7) || (((unsigned) res) & 3))
> +    if (dlen & 7)
>          return -1;
>  
>      memcpy(res, data, dlen);
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: LWLock contention: I think I understand the problem
Next
From: Marko Kreen
Date:
Subject: Re: pgcryto failures on freebsd/alpha