On Thu, 2019-03-28 at 23:08 +0100, Maciej S. Szmigiero wrote: > On 27.03.2019 08:24, Nikos Mavrogiannopoulos wrote: > > On Mon, 2019-03-11 at 00:02 +0100, Maciej S. Szmigiero wrote: > > > > That is, use the glibc function when available and the second > > > > parameter is zero. > > > > > > > > Resolves #230 > > > > > > > > Signed-off-by: Nikos Mavrogiannopoulos <[email protected]> > > > > ---(..) > > > > --- a/lib/safe-memfuncs.c > > > > +++ b/lib/safe-memfuncs.c > > > > @@ -33,14 +30,18 @@ > > > > * This function will operate similarly to memset(), but will > > > > * not be optimized out by the compiler. > > > > * > > > > - * Returns: void. > > > > - * > > > > * Since: 3.4.0 > > > > **/ > > > > void gnutls_memset(void *data, int c, size_t size) > > > > { > > > > - volatile unsigned volatile_zero = 0; > > > > + volatile unsigned volatile_zero; > > > > volatile char *vdata = (volatile char*)data; > > > > +#ifdef HAVE_EXPLICIT_BZERO > > > > + if (c == 0) { > > > > + explicit_bzero(data, size); > > > > > > Shouldn't the function return here? > > > > > > Because otherwise it is doing the zeroing twice: > > > first time via explicit_bzero(), > > > second time via a volatile trick below. > > > > You are right. Would you like to send a merge request fixing that? > > While I don't have a gitlab account to open a merge request there > I have attached a patch made by git-format-patch. > Hope this way will work, too. >
Thank you! _______________________________________________ Gnutls-help mailing list [email protected] http://lists.gnupg.org/mailman/listinfo/gnutls-help
