From fe0063685a67ddebe5d56c95d5c13f1bb26813b7 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Fri, 19 Feb 2016 13:35:24 -0500 Subject: [PATCH] openvz: Use virStringSplitCount instead of strtok_r 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 --- 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 e32dd6f3af..4103d6998d 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) < 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) < 0) + goto error; + ret = 0; error: - VIR_FREE(str); + virStringFreeListCount(tmp, ntmp); return ret; }