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