From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47707) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1acxci-0000nW-DU for qemu-devel@nongnu.org; Mon, 07 Mar 2016 11:03:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1acxcc-0001z2-U2 for qemu-devel@nongnu.org; Mon, 07 Mar 2016 11:03:08 -0500 References: <1455615450-15138-1-git-send-email-xiecl.fnst@cn.fujitsu.com> <1455615450-15138-3-git-send-email-xiecl.fnst@cn.fujitsu.com> <56DB21B7.7050104@redhat.com> <56DDA5FF.2050900@redhat.com> From: Max Reitz Message-ID: <56DDA630.4000409@redhat.com> Date: Mon, 7 Mar 2016 17:02:56 +0100 MIME-Version: 1.0 In-Reply-To: <56DDA5FF.2050900@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="pctolPw9RdoIn0xf1wAQqJ9SvXhTXkpOU" Subject: Re: [Qemu-devel] [PATCH v10 2/3] quorum: implement bdrv_add_child() and bdrv_del_child() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , Changlong Xie , qemu devel , Alberto Garcia , Kevin Wolf , Stefan Hajnoczi Cc: qemu block , Jiang Yunhong , Dong Eddie , Markus Armbruster , "Dr. David Alan Gilbert" , Gonglei , zhanghailiang This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --pctolPw9RdoIn0xf1wAQqJ9SvXhTXkpOU Content-Type: multipart/mixed; boundary="XV8NKU36jlkw33d6j1W3QtcMLA2Cd5Obi" From: Max Reitz To: Eric Blake , Changlong Xie , qemu devel , Alberto Garcia , Kevin Wolf , Stefan Hajnoczi Cc: Markus Armbruster , "Dr. David Alan Gilbert" , Dong Eddie , Jiang Yunhong , Wen Congyang , qemu block , zhanghailiang , Gonglei Message-ID: <56DDA630.4000409@redhat.com> Subject: Re: [PATCH v10 2/3] quorum: implement bdrv_add_child() and bdrv_del_child() References: <1455615450-15138-1-git-send-email-xiecl.fnst@cn.fujitsu.com> <1455615450-15138-3-git-send-email-xiecl.fnst@cn.fujitsu.com> <56DB21B7.7050104@redhat.com> <56DDA5FF.2050900@redhat.com> In-Reply-To: <56DDA5FF.2050900@redhat.com> --XV8NKU36jlkw33d6j1W3QtcMLA2Cd5Obi Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 07.03.2016 17:02, Eric Blake wrote: > On 03/05/2016 11:13 AM, Max Reitz wrote: >=20 >>> + index =3D atoi(child->name + 9); >> >> Optional: Assert absence of an error: >> >=20 > Indeed, atoi() is worthless, because it cannot do error detection. >=20 >> unsigned long index; >> char *endptr; >> >> index =3D strtoul(child->name + 9, &endptr, 10); >> assert(index >=3D 0 && !*endptr); >=20 > Still incorrect; you aren't handling errno properly for detecting all > errors. Even better is to use qemu_strtoul(), which already handles > proper error detection. Yeah, I keep forgetting that it returns ULONG_MAX on range error... Max --XV8NKU36jlkw33d6j1W3QtcMLA2Cd5Obi-- --pctolPw9RdoIn0xf1wAQqJ9SvXhTXkpOU Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJW3aYwAAoJEDuxQgLoOKytxScIAItYRmbPFSjiAYpRajehIKu+ DiyQD3WtXkLRO8dCplLfAaeyUGrVAJVnFuSrwdGo9oSigM90DSrKgGo7TQOpDuBW 45+VqP7UUlyV+Nmz6MlO1hPixh30T7JJyqAfzxKvR04bMaa5vjScPcZe+R3NilQw v9DkRRVH5838iWGa4gcOGPAeuZsBCEOP3QnlqRUYoB+plmey7xRF7K+DMSwz0m0D i0WzypZKhswpwk3Oo4x0Yx0RjNm/2mHC535cmkQXkHizbZxdnlsS6O/ReAyBcewH oq1ULdZYni24Me7E6Hs1JYLt6ufzgjr1IxeDlDM8fLF/0/hGYPk38Eq67qE0qKo= =McxS -----END PGP SIGNATURE----- --pctolPw9RdoIn0xf1wAQqJ9SvXhTXkpOU--