From owner-freebsd-hackers@FreeBSD.ORG Mon May 21 19:02:50 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3E5A1065673 for ; Mon, 21 May 2012 19:02:50 +0000 (UTC) (envelope-from ghelmer@palisadesys.com) Received: from ps-1-b.compliancesafe.com (ps-1-b.compliancesafe.com [216.81.161.162]) by mx1.freebsd.org (Postfix) with ESMTP id 889148FC1B for ; Mon, 21 May 2012 19:02:50 +0000 (UTC) Received: from mail.palisadesystems.com (localhost [127.0.0.1]) by ps-1-b.compliancesafe.com (8.14.4/8.14.3) with ESMTP id q4LJAVpn049528; Mon, 21 May 2012 14:10:31 -0500 (CDT) (envelope-from ghelmer@palisadesys.com) Received: from guysmbp.dyn.palisadesys.com (GuysMBP.dyn.palisadesys.com [172.16.2.90]) (authenticated bits=0) by mail.palisadesystems.com (8.14.3/8.14.3) with ESMTP id q4LJ2HRg013820 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 21 May 2012 14:02:18 -0500 (CDT) (envelope-from ghelmer@palisadesys.com) X-DKIM: Sendmail DKIM Filter v2.8.3 mail.palisadesystems.com q4LJ2HRg013820 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=palisadesys.com; s=mail; t=1337626938; bh=FCfpZdCKZD7KUqVWFWWCufeUWdVPKXU7liya1ThW8fo=; l=128; h=Subject:Mime-Version:Content-Type:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=rHRreSFuoCQIKygvt2NqybBxF/sS+DBJVduBVirDMYAjVB1xCaqQ/q8+tUzY8ZP3C r2oUptqI1xDdaNIDuH/keddSOzX5iRayhq8IpZ3MuSTW93RuQw9ancAnHajJoMp06w fjouB7/ULI9Gcb0pq6KkUddrw23jWlTxNKivRzEs= Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=iso-8859-1 From: Guy Helmer In-Reply-To: <4FB6D698.9030305@delphij.net> Date: Mon, 21 May 2012 14:02:17 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: References: <4EE466CC-5F93-485C-8E1F-907F8049FD61@palisadesys.com> <4FB6D698.9030305@delphij.net> To: d@delphij.net X-Mailer: Apple Mail (2.1278) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.5 (mail.palisadesystems.com [172.16.1.5]); Mon, 21 May 2012 14:02:18 -0500 (CDT) X-Palisade-MailScanner-Information: Please contact the ISP for more information X-Palisade-MailScanner-ID: q4LJ2HRg013820 X-Palisade-MailScanner: Found to be clean X-Palisade-MailScanner-SpamCheck: not spam (whitelisted), SpamAssassin (score=0.284, required 5, ALL_TRUSTED -1.00, BAYES_00 -1.90, J_CHICKENPOX_54 0.60, J_CHICKENPOX_63 0.60, RP_8BIT 1.98) X-Palisade-MailScanner-From: ghelmer@palisadesys.com X-Spam-Status: No X-PacketSure-Scanned: Yes Cc: freebsd-hackers@freebsd.org Subject: Re: Review of changes for getnetgrent.c X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 May 2012 19:02:50 -0000 On May 18, 2012, at 6:09 PM, Xin Li wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 >=20 > On 05/18/12 14:58, Guy Helmer wrote: >> To close PR bin/83340, I have this change worked up to resolve >> memory allocation failure handling and avoid creating bad entries >> in the grp list due to memory allocation failures while building a >> new entry. >>=20 >> Before committing, I wanted to run it past others to see if there >> were any problems with it. >=20 > %%% > @@ -477,6 +475,13 @@ > if (len > 0) { > grp->ng_str[strpos] =3D = (char *) > malloc(len + 1); > + if (grp->ng_str[strpos] = =3D=3D NULL) { > + for (freepos =3D = 0; freepos < strpos; freepos++) > + if = (grp->ng_str[freepos] !=3D NULL) > + = free(grp->ng_str[freepos]); > + free(grp); > + return(1); > + } > bcopy(spos, = grp->ng_str[strpos], > len + 1); > %%% Like this? if (len > 0) { grp->ng_str[strpos] =3D = (char *) malloc(len + 1); + if (grp->ng_str[strpos] = =3D=3D NULL) { + int freepos; + for (freepos =3D = 0; freepos < strpos; freepos++) + = free(grp->ng_str[freepos]); + free(grp); + return(1); + } bcopy(spos, = grp->ng_str[strpos], len + 1); } >=20 > There are a few return without space between the keyword and return = value. Do you recommend I fix all those instances in the file, or just the = instances in this patch? Thanks, Guy -------- This message has been scanned by ComplianceSafe, powered by Palisade's PacketSure.