Re: [Xen-devel] [PATCH] xl: tighten parsing of "irq" and "iomem" list elements

2015-09-15 Thread Dario Faggioli
On Mon, 2015-09-14 at 07:53 -0600, Jan Beulich wrote:
> While "ioport" list element parsing already validates that the entire
> input string got consumed, its two siblings so far didn't.
> 
> Signed-off-by: Jan Beulich 
> 
Reviewed-by: Dario Faggioli 

Regards,
Dario
-- 
<> (Raistlin Majere)
-
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R Ltd., Cambridge (UK)


signature.asc
Description: This is a digitally signed message part
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] xl: tighten parsing of "irq" and "iomem" list elements

2015-09-15 Thread Ian Campbell
On Mon, 2015-09-14 at 07:53 -0600, Jan Beulich wrote:
> While "ioport" list element parsing already validates that the entire
> input string got consumed, its two siblings so far didn't.
> 
> Signed-off-by: Jan Beulich 

Acked-by: Ian Campbell 


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH] xl: tighten parsing of "irq" and "iomem" list elements

2015-09-15 Thread Ian Campbell
On Tue, 2015-09-15 at 11:09 +0200, Dario Faggioli wrote:
> On Mon, 2015-09-14 at 07:53 -0600, Jan Beulich wrote:
> > While "ioport" list element parsing already validates that the entire
> > input string got consumed, its two siblings so far didn't.
> > 
> > Signed-off-by: Jan Beulich 
> > 
> Reviewed-by: Dario Faggioli 

Applied.


___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] [PATCH] xl: tighten parsing of "irq" and "iomem" list elements

2015-09-14 Thread Jan Beulich
While "ioport" list element parsing already validates that the entire
input string got consumed, its two siblings so far didn't.

Signed-off-by: Jan Beulich 

--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1730,7 +1730,7 @@ static void parse_config_data(const char
 exit(1);
 }
 ul = strtoul(buf, , 10);
-if (ep == buf) {
+if (ep == buf || *ep != '\0') {
 fprintf(stderr,
 "xl: Invalid argument parsing irq: %s\n", buf);
 exit(1);
@@ -1752,6 +1752,8 @@ static void parse_config_data(const char
 exit(-1);
 }
 for (i = 0; i < num_iomem; i++) {
+int used;
+
 buf = xlu_cfg_get_listitem (iomem, i);
 if (!buf) {
 fprintf(stderr,
@@ -1759,11 +1761,11 @@ static void parse_config_data(const char
 exit(1);
 }
 libxl_iomem_range_init(_info->iomem[i]);
-ret = sscanf(buf, "%" SCNx64",%" SCNx64"@%" SCNx64,
+ret = sscanf(buf, "%" SCNx64",%" SCNx64"%n@%" SCNx64"%n",
  _info->iomem[i].start,
- _info->iomem[i].number,
- _info->iomem[i].gfn);
-if (ret < 2) {
+ _info->iomem[i].number, ,
+ _info->iomem[i].gfn, );
+if (ret < 2 || buf[used] != '\0') {
 fprintf(stderr,
 "xl: Invalid argument parsing iomem: %s\n", buf);
 exit(1);



xl: tighten parsing of "irq" and "iomem" list elements

While "ioport" list element parsing already validates that the entire
input string got consumed, its two siblings so far didn't.

Signed-off-by: Jan Beulich 

--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1730,7 +1730,7 @@ static void parse_config_data(const char
 exit(1);
 }
 ul = strtoul(buf, , 10);
-if (ep == buf) {
+if (ep == buf || *ep != '\0') {
 fprintf(stderr,
 "xl: Invalid argument parsing irq: %s\n", buf);
 exit(1);
@@ -1752,6 +1752,8 @@ static void parse_config_data(const char
 exit(-1);
 }
 for (i = 0; i < num_iomem; i++) {
+int used;
+
 buf = xlu_cfg_get_listitem (iomem, i);
 if (!buf) {
 fprintf(stderr,
@@ -1759,11 +1761,11 @@ static void parse_config_data(const char
 exit(1);
 }
 libxl_iomem_range_init(_info->iomem[i]);
-ret = sscanf(buf, "%" SCNx64",%" SCNx64"@%" SCNx64,
+ret = sscanf(buf, "%" SCNx64",%" SCNx64"%n@%" SCNx64"%n",
  _info->iomem[i].start,
- _info->iomem[i].number,
- _info->iomem[i].gfn);
-if (ret < 2) {
+ _info->iomem[i].number, ,
+ _info->iomem[i].gfn, );
+if (ret < 2 || buf[used] != '\0') {
 fprintf(stderr,
 "xl: Invalid argument parsing iomem: %s\n", buf);
 exit(1);
___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel