compositor-x11: Always free output_mode on error.
This commit is contained in:
committed by
Kristian Høgsberg
parent
3d89049546
commit
ca9b09d945
@@ -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 *
|
||||||
|
|||||||
Reference in New Issue
Block a user