---
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;
}
}
--
1.6.0.4