Patchwork correct error message qemu-img reported

login
register
mail settings
Submitter liguang
Date Nov. 2, 2012, 2:35 a.m.
Message ID <1351823750-30515-1-git-send-email-lig.fnst@cn.fujitsu.com>
Download mbox | patch
Permalink /patch/196467/
State New
Headers show

Comments

liguang - Nov. 2, 2012, 2:35 a.m.
qemu-img will complain when qcow or qcow2
size overflow for 64 bits, report the right
message in this condition.

Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
---
 qemu-img.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
陳韋任 - Nov. 2, 2012, 3:12 a.m.
On Fri, Nov 02, 2012 at 10:35:50AM +0800, liguang wrote:
> qemu-img will complain when qcow or qcow2
> size overflow for 64 bits, report the right
> message in this condition.
> 
> Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
> ---
>  qemu-img.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/qemu-img.c b/qemu-img.c
> index f17f187..a332467 100644
> --- a/qemu-img.c
> +++ b/qemu-img.c
> @@ -343,10 +343,12 @@ static int img_create(int argc, char **argv)
>  
>      /* Get image size, if specified */
>      if (optind < argc) {
> -        int64_t sval;
> +        int64_t sval = 0;
>          char *end;
>          sval = strtosz_suffix(argv[optind++], &end, STRTOSZ_DEFSUFFIX_B);
> -        if (sval < 0 || *end) {
> +	if (sval < 0)
> +		  error_report("image size is too large!\n");
    ^^^
  wrong ident?

> +        if (*end) {
>              error_report("Invalid image size specified! You may use k, M, G or "
>                    "T suffixes for ");
>              error_report("kilobytes, megabytes, gigabytes and terabytes.");
> -- 
> 1.7.1
>
liguang - Nov. 2, 2012, 3:20 a.m.
在 2012-11-02五的 11:12 +0800,陳韋任 (Wei-Ren Chen)写道:
> On Fri, Nov 02, 2012 at 10:35:50AM +0800, liguang wrote:
> > qemu-img will complain when qcow or qcow2
> > size overflow for 64 bits, report the right
> > message in this condition.
> > 
> > Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
> > ---
> >  qemu-img.c |    6 ++++--
> >  1 files changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/qemu-img.c b/qemu-img.c
> > index f17f187..a332467 100644
> > --- a/qemu-img.c
> > +++ b/qemu-img.c
> > @@ -343,10 +343,12 @@ static int img_create(int argc, char **argv)
> >  
> >      /* Get image size, if specified */
> >      if (optind < argc) {
> > -        int64_t sval;
> > +        int64_t sval = 0;
> >          char *end;
> >          sval = strtosz_suffix(argv[optind++], &end, STRTOSZ_DEFSUFFIX_B);
> > -        if (sval < 0 || *end) {
> > +	if (sval < 0)
> > +		  error_report("image size is too large!\n");
>     ^^^
>   wrong ident?

   Yep, strange indent, will re-send it.
   Thanks!

> 
> > +        if (*end) {
> >              error_report("Invalid image size specified! You may use k, M, G or "
> >                    "T suffixes for ");
> >              error_report("kilobytes, megabytes, gigabytes and terabytes.");
> > -- 
> > 1.7.1
> > 
>

Patch

diff --git a/qemu-img.c b/qemu-img.c
index f17f187..a332467 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -343,10 +343,12 @@  static int img_create(int argc, char **argv)
 
     /* Get image size, if specified */
     if (optind < argc) {
-        int64_t sval;
+        int64_t sval = 0;
         char *end;
         sval = strtosz_suffix(argv[optind++], &end, STRTOSZ_DEFSUFFIX_B);
-        if (sval < 0 || *end) {
+	if (sval < 0)
+		  error_report("image size is too large!\n");
+        if (*end) {
             error_report("Invalid image size specified! You may use k, M, G or "
                   "T suffixes for ");
             error_report("kilobytes, megabytes, gigabytes and terabytes.");