On 25.02.2016 15:21, John Ferlan wrote: > When parsing the barrier:limit values, use virStringSplitCount in order > to split the pair and make the approriate checks to get the data. > > Signed-off-by: John Ferlan <jfer...@redhat.com> > --- > src/openvz/openvz_conf.c | 32 +++++++++++--------------------- > 1 file changed, 11 insertions(+), 21 deletions(-) > > diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c > index e32dd6f..cf0d67c 100644 > --- a/src/openvz/openvz_conf.c > +++ b/src/openvz/openvz_conf.c > @@ -133,35 +133,25 @@ openvzParseBarrierLimit(const char* value, > unsigned long long *barrier, > unsigned long long *limit) > { > - char *token; > - char *saveptr = NULL; > - char *str; > + char **tmp = NULL; > + size_t ntmp = 0; > int ret = -1; > > - if (VIR_STRDUP(str, value) < 0) > + if (!(tmp = virStringSplitCount(value, ":", 0, &ntmp))) > goto error; > > - token = strtok_r(str, ":", &saveptr); > - if (token == NULL) { > + if (ntmp != 2) > goto error; > - } else { > - if (barrier != NULL) { > - if (virStrToLong_ull(token, NULL, 10, barrier)) > - goto error; > - } > - } > - token = strtok_r(NULL, ":", &saveptr); > - if (token == NULL) { > + > + if (barrier && virStrToLong_ull(tmp[0], NULL, 10, barrier))
if (barrier && virStrToLong_ull() < 0) > goto error; > - } else { > - if (limit != NULL) { > - if (virStrToLong_ull(token, NULL, 10, limit)) > - goto error; > - } > - } > + > + if (limit && virStrToLong_ull(tmp[1], NULL, 10, limit)) same here. > + goto error; > + > ret = 0; > error: > - VIR_FREE(str); > + virStringFreeListCount(tmp, ntmp); > return ret; > } > > ACK Michal -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list