From ca9b09d945cb3305536746bc4539bb627f93105a Mon Sep 17 00:00:00 2001 From: Scott Moreau Date: Mon, 6 Aug 2012 01:27:06 -0600 Subject: [PATCH] compositor-x11: Always free output_mode on error. --- src/compositor-x11.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/compositor-x11.c b/src/compositor-x11.c index e1351431..0caa8dd0 100644 --- a/src/compositor-x11.c +++ b/src/compositor-x11.c @@ -1183,29 +1183,28 @@ output_section_done(void *data) if (!output || !output_name || !output_mode) { free(output_name); output_name = NULL; - free(output_mode); - output_mode = NULL; - return; + goto err_free; } output->name = output_name; if (output_name[0] != 'X') { x11_free_configured_output(output); - return; + goto err_free; } if (sscanf(output_mode, "%dx%d", &output->width, &output->height) != 2) { weston_log("Invalid mode \"%s\" for output %s\n", output_mode, output_name); x11_free_configured_output(output); - return; + goto err_free; } + wl_list_insert(configured_output_list.prev, &output->link); + +err_free: free(output_mode); output_mode = NULL; - - wl_list_insert(configured_output_list.prev, &output->link); } WL_EXPORT struct weston_compositor *