diff mbox

libs/devicemodel: free xencall handle in error path in _open()

Message ID 20170227122026.12740-1-wei.liu2@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wei Liu Feb. 27, 2017, 12:20 p.m. UTC
Change the allocation to use calloc to get zeroed structure. Free
xencall handler in error path.

Spotted by Coverity.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libs/devicemodel/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Paul Durrant Feb. 27, 2017, 12:53 p.m. UTC | #1
> -----Original Message-----
> From: Wei Liu [mailto:wei.liu2@citrix.com]
> Sent: 27 February 2017 12:20
> To: Xen-devel <xen-devel@lists.xenproject.org>
> Cc: Ian Jackson <Ian.Jackson@citrix.com>; Paul Durrant
> <Paul.Durrant@citrix.com>; Wei Liu <wei.liu2@citrix.com>
> Subject: [PATCH] libs/devicemodel: free xencall handle in error path in
> _open()
> 
> Change the allocation to use calloc to get zeroed structure. Free
> xencall handler in error path.
> 
> Spotted by Coverity.
> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>

Reviewed-by: Paul Durrant <paul.durrant@citrix.com>

> ---
>  tools/libs/devicemodel/core.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/libs/devicemodel/core.c b/tools/libs/devicemodel/core.c
> index 19ebef63b3..a85cb49c22 100644
> --- a/tools/libs/devicemodel/core.c
> +++ b/tools/libs/devicemodel/core.c
> @@ -24,7 +24,7 @@
>  xendevicemodel_handle *xendevicemodel_open(xentoollog_logger
> *logger,
>                                             unsigned open_flags)
>  {
> -    xendevicemodel_handle *dmod = malloc(sizeof(*dmod));
> +    xendevicemodel_handle *dmod = calloc(1, sizeof(*dmod));
>      int rc;
> 
>      if (!dmod)
> @@ -54,6 +54,7 @@ xendevicemodel_handle
> *xendevicemodel_open(xentoollog_logger *logger,
> 
>  err:
>      xtl_logger_destroy(dmod->logger_tofree);
> +    xencall_close(dmod->xcall);
>      free(dmod);
>      return NULL;
>  }
> --
> 2.11.0
Ian Jackson Feb. 27, 2017, 4:32 p.m. UTC | #2
Wei Liu writes ("[PATCH] libs/devicemodel: free xencall handle in error path in _open()"):
> Change the allocation to use calloc to get zeroed structure. Free
> xencall handler in error path.
> 
> Spotted by Coverity.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
diff mbox

Patch

diff --git a/tools/libs/devicemodel/core.c b/tools/libs/devicemodel/core.c
index 19ebef63b3..a85cb49c22 100644
--- a/tools/libs/devicemodel/core.c
+++ b/tools/libs/devicemodel/core.c
@@ -24,7 +24,7 @@ 
 xendevicemodel_handle *xendevicemodel_open(xentoollog_logger *logger,
                                            unsigned open_flags)
 {
-    xendevicemodel_handle *dmod = malloc(sizeof(*dmod));
+    xendevicemodel_handle *dmod = calloc(1, sizeof(*dmod));
     int rc;
 
     if (!dmod)
@@ -54,6 +54,7 @@  xendevicemodel_handle *xendevicemodel_open(xentoollog_logger *logger,
 
 err:
     xtl_logger_destroy(dmod->logger_tofree);
+    xencall_close(dmod->xcall);
     free(dmod);
     return NULL;
 }