Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 2014 16:19:05 -0700
From:      Xin Li <delphij@delphij.net>
To:        =?UTF-8?B?RGFnLUVybGluZyBTbcO4cmdyYXY=?= <des@des.no>,  Xin LI <delphij@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r273552 - head/sys/kern
Message-ID:  <54498CE9.1090000@delphij.net>
In-Reply-To: <86egtyz9mz.fsf@nine.des.no>
References:  <201410231823.s9NINpXD082633@svn.freebsd.org> <86egtyz9mz.fsf@nine.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 10/23/14 15:47, Dag-Erling Smørgrav wrote:
> Xin LI <delphij@FreeBSD.org> writes:
>> Log: Test if 'env' is NULL before doing memset() and strlen(), 
>> the caller may pass NULL to freeenv().
> 
> If this is in response to a panic in early boot, the real bug is 
> elsewhere (see r273564).  Adding a NULL check here only hides it.

Yes that would fix it.  Does this look good to you?

Index: sys/kern/kern_environment.c
===================================================================
- --- sys/kern/kern_environment.c	(revision 273564)
+++ sys/kern/kern_environment.c	(working copy)
@@ -262,7 +262,8 @@ void
 freeenv(char *env)
 {

- -	if (dynamic_kenv && env != NULL) {
+	MPASS(env != NULL);
+	if (dynamic_kenv) {
 		memset(env, 0, strlen(env));
 		free(env, M_KENV);
 	}


Cheers,
- -- 
Xin LI <delphij@delphij.net>    https://www.delphij.net/
FreeBSD - The Power to Serve!           Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0

iQIcBAEBCgAGBQJUSYzoAAoJEJW2GBstM+nsSnYP/i4boJtEHPzOiJceF0x1OW+h
/Jn/ewoZh5itogPuGBcXB0QSNZIoQjH3x8Puv6S+bgfGwP6oXtWGpFHeH1EXtu0N
pUqaft3VP8d/8+QeM0l5GSrYWverDZM0FpwnhWC0L/+0Fen52pseLGJIYGmG0Z80
vBxiRokXmNtC467tgu5upSSXDftEu9RFsWPCtuTr2yP+RZYC98hdSTl2EufA0L3Z
ih46Iz+zIYcQt7ziryQ0nblGSuQy+AucqPa/0/fs9mSpqd0+fSphR+nd62P60yC4
mDUB093mMl/PhZY5IrfoU1DTxDdUJNoGc1wNdzKqsbxTbjpMJMeWr6dHX2pni8Ki
MCR+Hh6aMxC+P0g2n5cCmTTff8ghRXSW0/pSluJjyPALmYHXCUdnXWAj59hkbpUA
O6wOtth4rLi0ZcGPT4hNKu5bm+BvhQ4EEKjomB+WzZUmUL+/H8xoin2xEaItMs6T
uDaZqaknRACr5+TFuwVbBP77QOZ9i9EcqBIMOSkNw1E0NqdGLxTwud8IQCqMAONJ
ZHrwNOCM91sLk4ohjrPNzZzY3IXostBzRNNJQvFEXQJhbxJvQM3CDcr/QOoMajN2
1VWMbxrONgcyi8RTC8PvOgxRN36SFBJP0rxhrn465xGpAWsZ9M28sOWmKk2O4yhB
LHZuuMYanWSQ0+SYJrGT
=eSq9
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54498CE9.1090000>