[libvirt] [PATCH 3/9] phyp: Break potential infinite loops
Daniel Veillard
veillard at redhat.com
Fri Nov 6 10:37:11 UTC 2009
On Fri, Nov 06, 2009 at 04:28:01AM +0100, Matthias Bolte wrote:
> ---
> src/phyp/phyp_driver.c | 13 +++++++++----
> 1 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c
> index 5379cd3..b94d0fa 100644
> --- a/src/phyp/phyp_driver.c
> +++ b/src/phyp/phyp_driver.c
> @@ -1040,9 +1040,13 @@ phypListDomainsGeneric(virConnectPtr conn, int *ids, int nids,
> goto err;
> else {
> while (got < nids) {
> - if (ret[i] == '\n') {
> - if (virStrToLong_i(id_c, &char_ptr, 10, &ids[got]) == -1)
> - return 0;
> + if (ret[i] == '\0')
> + break;
> + else if (ret[i] == '\n') {
> + if (virStrToLong_i(id_c, &char_ptr, 10, &ids[got]) == -1) {
> + VIR_ERROR("Cannot parse number from '%s'", id_c);
> + goto err;
> + }
> memset(id_c, 0, 10);
> j = 0;
> got++;
> @@ -1112,7 +1116,8 @@ phypListDefinedDomains(virConnectPtr conn, char **const names, int nnames)
> }
> char_ptr2++;
> domains = char_ptr2;
> - }
> + } else
> + break;
> }
> }
>
Right, that looks way safer, thanks !
ACK,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list