diff mbox

libvchan: Fix cleanup when xc_gntshr_open failed

Message ID 1501104434-1693-1-git-send-email-marmarek@invisiblethingslab.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marek Marczykowski-Górecki July 26, 2017, 9:27 p.m. UTC
If xc_gntshr_open failed the only thing to cleanup is free allocated
memory. So instead of calling libxenvchan_close (which assume
valid calculated buffers being mmaped already) free memory and return.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 tools/libvchan/init.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Wei Liu July 28, 2017, 2:57 p.m. UTC | #1
On Wed, Jul 26, 2017 at 11:27:14PM +0200, Marek Marczykowski-Górecki wrote:
> If xc_gntshr_open failed the only thing to cleanup is free allocated
> memory. So instead of calling libxenvchan_close (which assume
> valid calculated buffers being mmaped already) free memory and return.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Not a big fan of mixing error handling style but seeing the code is
already like that:

Acked-by: Wei Liu <wei.liu2@citrix.com>
diff mbox

Patch

diff --git a/tools/libvchan/init.c b/tools/libvchan/init.c
index 83e1dee..e53f3a7 100644
--- a/tools/libvchan/init.c
+++ b/tools/libvchan/init.c
@@ -329,8 +329,10 @@  struct libxenvchan *libxenvchan_server_init(struct xentoollog_logger *logger,
 	}
 
 	ctrl->gntshr = xengntshr_open(logger, 0);
-	if (!ctrl->gntshr)
-		goto out;
+	if (!ctrl->gntshr) {
+		free(ctrl);
+		return 0;
+	}
 
 	if (init_evt_srv(ctrl, domain, logger))
 		goto out;