Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/crypto/external/bsd/openpgpsdk/dist

> > Modified Files:
> >     src/crypto/external/bsd/openpgpsdk/dist/include/openpgpsdk: crypto.h
> >     src/crypto/external/bsd/openpgpsdk/dist/src/lib: symmetric.c
> >
> > Log Message:
> > No, our openssl _encrypt routines do not take a *size_t as the 6th
> > argument, they take an *int, and those are not necessarily compatible.
> > Papering that over with a cast just gets us a warning that
> > de-referencing a type-punned pointer will break strict-aliasing
> > rules, which is turned into an error by our WARNS setting.
> >
> > Instead, change the "num" field in _opt_crypt_t from size_t to int, and
> > get rid of the now-redundant casts.
> Interesting, thanks.  It's not an i386, so what platform was this on?  I
> wonder if it's an issue with the age of some of the openpgpsdk code -
> this argument changed type in openssl some time ago, IIRC?

The problem was observed when building for acorn26, but that's
just because it's early in the alphabetical sorting; I guess at
least any arm port (and probably several others) would croak on
the code the way it was...

You probably also saw the printf format fix to
src/crypto/external/bsd/openpgpsdk/dist/src/lib/keyring.c that I
also committed.

> The casts are in the original vendor branch code; I've been feeding back
> our patches, and I'll feed this one back, too. I trust Ben Laurie to be
> intimate with the openssl code, somehow, so we'll see what he says :-).

OK, sounds good.

- Håvard

Home | Main Index | Thread Index | Old Index