Subject: Re: -current config(8) + files.opencrypto == cryptographic roulette?
To: None <current-users@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: current-users
Date: 11/24/2003 20:56:38
In article <200311242038.MAA12713@Pescadero.DSG.Stanford.EDU>,
Jonathan Stone <jonathan@DSG.Stanford.EDU> wrote:
>
>In message
><200311241913.hAOJDIvZ022577@fearless-vampire-killer.waterside.net>Rafal
>Boni writes
>
>[ usr.sbin/config newnv() leaves fields uninitialized ]
>
>I'm amazed nobody else saw it -- unless the malloc support routines
>changed in the meantime? But why not zero the whole nvlist structure,
>as defensive programming:
>
>
>Index: util.c
>===================================================================
>RCS file: /cvsroot/src/usr.sbin/config/util.c,v
>retrieving revision 1.18
>diff -u -r1.18 util.c
>--- util.c 19 Sep 2003 06:19:56 -0000 1.18
>+++ util.c 24 Nov 2003 20:33:29 -0000
>@@ -190,6 +190,7 @@
> nv = emalloc(sizeof(*nv));
> else
> nvfreelist = nv->nv_next;
>+ memset(nv, 0, sizeof(*nv));
> nv->nv_next = next;
> nv->nv_name = name;
> if (ptr == NULL)
>
>or even move the memset() into config's emalloc()? It shouldn't
>be that big a factor in the run time.
That memset should not be there, but under the emalloc...
christos