[libvirt] [PATCHv2 08/10] xenapi: Use virStrToLong_i instead of sscanf for CPU map parsing

Matthias Bolte matthias.bolte at googlemail.com
Wed Mar 31 21:42:01 UTC 2010


Parsing is stricter now and doesn't accept trailing characters
after the actual value anymore.
---
 src/xenapi/xenapi_utils.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/xenapi/xenapi_utils.c b/src/xenapi/xenapi_utils.c
index 60e3c8d..581bd90 100644
--- a/src/xenapi/xenapi_utils.c
+++ b/src/xenapi/xenapi_utils.c
@@ -309,7 +309,7 @@ getCpuBitMapfromString(char *mask, unsigned char *cpumap, int maplen)
     bzero(cpumap, maplen);
     num = strtok_r(mask, ",", &bp);
     while (num != NULL) {
-        if (sscanf(num, "%d", &pos) != 1)
+        if (virStrToLong_i(num, NULL, 10, &pos) < 0)
             return;
         if (pos < 0 || pos > max_bits - 1)
             VIR_WARN ("number in str %d exceeds cpumap's max bits %d", pos, max_bits);
-- 
1.6.3.3




More information about the libvir-list mailing list