svn commit: r273552 - head/sys/kern

Xin Li delphij at delphij.net
Thu Oct 23 23:19:06 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 10/23/14 15:47, Dag-Erling Smørgrav wrote:
> Xin LI <delphij at 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 at 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-----


More information about the svn-src-head mailing list