compositor-x11: Always free output_mode on error.

Scott Moreau 12 years ago committed by Kristian Høgsberg
parent 3d89049546
commit ca9b09d945
  1. 13
      src/compositor-x11.c

@ -1183,29 +1183,28 @@ output_section_done(void *data)
if (!output || !output_name || !output_mode) { if (!output || !output_name || !output_mode) {
free(output_name); free(output_name);
output_name = NULL; output_name = NULL;
free(output_mode); goto err_free;
output_mode = NULL;
return;
} }
output->name = output_name; output->name = output_name;
if (output_name[0] != 'X') { if (output_name[0] != 'X') {
x11_free_configured_output(output); x11_free_configured_output(output);
return; goto err_free;
} }
if (sscanf(output_mode, "%dx%d", &output->width, &output->height) != 2) { if (sscanf(output_mode, "%dx%d", &output->width, &output->height) != 2) {
weston_log("Invalid mode \"%s\" for output %s\n", weston_log("Invalid mode \"%s\" for output %s\n",
output_mode, output_name); output_mode, output_name);
x11_free_configured_output(output); x11_free_configured_output(output);
return; goto err_free;
} }
wl_list_insert(configured_output_list.prev, &output->link);
err_free:
free(output_mode); free(output_mode);
output_mode = NULL; output_mode = NULL;
wl_list_insert(configured_output_list.prev, &output->link);
} }
WL_EXPORT struct weston_compositor * WL_EXPORT struct weston_compositor *

Loading…
Cancel
Save