diff mbox series

block/xen_disk: Convert atoi use to qemu_strtol to allow error checking

Message ID 20180316144307.31073-1-nia.alarie@gmail.com
State New
Headers show
Series block/xen_disk: Convert atoi use to qemu_strtol to allow error checking | expand

Commit Message

nee March 16, 2018, 2:43 p.m. UTC
Signed-off-by: Nia Alarie <nia.alarie@gmail.com>
---
 hw/block/xen_disk.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

nee March 16, 2018, 2:48 p.m. UTC | #1
On Fri, Mar 16, 2018 at 2:43 PM, Nia Alarie <nia.alarie@gmail.com> wrote:
> Signed-off-by: Nia Alarie <nia.alarie@gmail.com>
> ---
>  hw/block/xen_disk.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
> index f74fcd42d1..a9ec0ad6eb 100644
> --- a/hw/block/xen_disk.c
> +++ b/hw/block/xen_disk.c
> @@ -32,6 +32,7 @@
>  #include "qapi/error.h"
>  #include "qapi/qmp/qdict.h"
>  #include "qapi/qmp/qstring.h"
> +#include "qemu/cutils.h"
>  #include "trace.h"
>
>  /* ------------------------------------------------------------- */
> @@ -1010,7 +1011,10 @@ static int blk_init(struct XenDevice *xendev)
>          blkdev->devtype = xenstore_read_be_str(&blkdev->xendev, "device-type");
>      }
>      directiosafe = xenstore_read_be_str(&blkdev->xendev, "direct-io-safe");
> -    blkdev->directiosafe = (directiosafe && atoi(directiosafe));
> +
> +    if (directiosafe && qemu_strtoi(directiosafe, NULL, 10, &blkdev->directiosafe)) {
> +        goto out_error;
> +    }
>
>      /* do we have all we need? */
>      if (blkdev->params == NULL ||
> --
> 2.16.2
>

I've just realised that this patch is slightly wrong and doesn't match
the original code exactly. Please disregard.
diff mbox series

Patch

diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
index f74fcd42d1..a9ec0ad6eb 100644
--- a/hw/block/xen_disk.c
+++ b/hw/block/xen_disk.c
@@ -32,6 +32,7 @@ 
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
+#include "qemu/cutils.h"
 #include "trace.h"
 
 /* ------------------------------------------------------------- */
@@ -1010,7 +1011,10 @@  static int blk_init(struct XenDevice *xendev)
         blkdev->devtype = xenstore_read_be_str(&blkdev->xendev, "device-type");
     }
     directiosafe = xenstore_read_be_str(&blkdev->xendev, "direct-io-safe");
-    blkdev->directiosafe = (directiosafe && atoi(directiosafe));
+
+    if (directiosafe && qemu_strtoi(directiosafe, NULL, 10, &blkdev->directiosafe)) {
+        goto out_error;
+    }
 
     /* do we have all we need? */
     if (blkdev->params == NULL ||