diff options
Diffstat (limited to '0007-desktop-shell-Avoid-NULL-output-dereference-when-get.patch')
-rw-r--r-- | 0007-desktop-shell-Avoid-NULL-output-dereference-when-get.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/0007-desktop-shell-Avoid-NULL-output-dereference-when-get.patch b/0007-desktop-shell-Avoid-NULL-output-dereference-when-get.patch new file mode 100644 index 000000000000..c913b0f9d9d3 --- /dev/null +++ b/0007-desktop-shell-Avoid-NULL-output-dereference-when-get.patch @@ -0,0 +1,52 @@ +From f98d9cf40a5dc11a7f87bc674bb6e3333c2321d1 Mon Sep 17 00:00:00 2001 +From: "Miguel A. Vico" <mvicomoya@nvidia.com> +Date: Wed, 25 Sep 2019 11:23:13 -0700 +Subject: [PATCH 7/8] desktop-shell: Avoid NULL output dereference when getting + surface label +X-NVConfidentiality: public + +When hotunplugging a display, the compositor will tear down the +corresponding output object. + +Avoid NULL output dereferences by all surface label getters in +desktop-shell when hotunplugging happens. + +Signed-off-by: Miguel A Vico Moya <mvicomoya@nvidia.com> +--- + desktop-shell/shell.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c +index f94a4ca2..00ee1079 100644 +--- a/desktop-shell/shell.c ++++ b/desktop-shell/shell.c +@@ -521,7 +521,7 @@ static int + focus_surface_get_label(struct weston_surface *surface, char *buf, size_t len) + { + return snprintf(buf, len, "focus highlight effect for output %s", +- surface->output->name); ++ (surface->output ? surface->output->name : "NULL")); + } + + /* no-op func for checking focus surface */ +@@ -2985,7 +2985,7 @@ static int + background_get_label(struct weston_surface *surface, char *buf, size_t len) + { + return snprintf(buf, len, "background for output %s", +- surface->output->name); ++ (surface->output ? surface->output->name : "NULL")); + } + + static void +@@ -3065,7 +3065,7 @@ static int + panel_get_label(struct weston_surface *surface, char *buf, size_t len) + { + return snprintf(buf, len, "panel for output %s", +- surface->output->name); ++ (surface->output ? surface->output->name : "NULL")); + } + + static void +-- +2.21.0 + |