From ea54570efbcec97addcc6f979c23ae5f335dd889 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Tue, 30 Mar 2010 15:47:59 +0200 Subject: [PATCH] Replace sscanf in nwfilter rule parsing Parsing is stricter now and doesn't accept trailing characters after the actual value anymore. --- src/conf/nwfilter_conf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c index ced3b65c3a..9438846ab7 100644 --- a/src/conf/nwfilter_conf.c +++ b/src/conf/nwfilter_conf.c @@ -1233,7 +1233,7 @@ virNWFilterRuleDetailsParse(virConnectPtr conn ATTRIBUTE_UNUSED, case DATATYPE_UINT8: storage_ptr = &item->u.u8; - if (sscanf(prop, "%d", &int_val) == 1) { + if (virStrToLong_i(prop, NULL, 10, &int_val) >= 0) { if (int_val >= 0 && int_val <= 0xff) { if (!validator) *(uint8_t *)storage_ptr = int_val; @@ -1247,7 +1247,7 @@ virNWFilterRuleDetailsParse(virConnectPtr conn ATTRIBUTE_UNUSED, case DATATYPE_UINT16: storage_ptr = &item->u.u16; - if (sscanf(prop, "%d", &int_val) == 1) { + if (virStrToLong_i(prop, NULL, 10, &int_val) >= 0) { if (int_val >= 0 && int_val <= 0xffff) { if (!validator) *(uint16_t *)storage_ptr = int_val; @@ -1653,8 +1653,8 @@ virNWFilterRuleParse(virConnectPtr conn, ret->priority = MAX_RULE_PRIORITY / 2; if (prio) { - if (sscanf(prio, "%d", (int *)&priority) == 1) { - if ((int)priority >= 0 && priority <= MAX_RULE_PRIORITY) + if (virStrToLong_ui(prio, NULL, 10, &priority) >= 0) { + if (priority <= MAX_RULE_PRIORITY) ret->priority = priority; } } -- GitLab