From owner-svn-src-head@FreeBSD.ORG Thu Oct 23 23:19:06 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 061596CB; Thu, 23 Oct 2014 23:19:06 +0000 (UTC) Received: from anubis.delphij.net (anubis.delphij.net [IPv6:2001:470:1:117::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "anubis.delphij.net", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id DFC6DA; Thu, 23 Oct 2014 23:19:05 +0000 (UTC) Received: from zeta.ixsystems.com (unknown [12.229.62.2]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by anubis.delphij.net (Postfix) with ESMTPSA id 80CF4155B6; Thu, 23 Oct 2014 16:19:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=delphij.net; s=anubis; t=1414106345; x=1414120745; bh=gFPx6W3mB0z0cvggR1pOM7gAxuJu1PamOT00C1uIPZc=; h=Date:From:Reply-To:To:CC:Subject:References:In-Reply-To; b=PWpGVGL9a3Snc79Okr93U84Vzz89+A3zM9D5ZrPWRFPfuJx875IkrCHa5+jGBBI0W e1u3DMwwEb5ThOTWKxQZtUav427vVb3i/GCO5BSBeFYeps5eRC7IZd0D8t+EIuoIuP bslROPNZSmfxBUlVcxf/REo6jZcYPvuc708XBuOc= Message-ID: <54498CE9.1090000@delphij.net> Date: Thu, 23 Oct 2014 16:19:05 -0700 From: Xin Li Reply-To: d@delphij.net Organization: The FreeBSD Project MIME-Version: 1.0 To: =?UTF-8?B?RGFnLUVybGluZyBTbcO4cmdyYXY=?= , Xin LI Subject: Re: svn commit: r273552 - head/sys/kern References: <201410231823.s9NINpXD082633@svn.freebsd.org> <86egtyz9mz.fsf@nine.des.no> In-Reply-To: <86egtyz9mz.fsf@nine.des.no> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Oct 2014 23:19:06 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 10/23/14 15:47, Dag-Erling Smørgrav wrote: > Xin LI 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 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-----