From c96341dcd5495f395ef0a0632874e25e473ea3dc Mon Sep 17 00:00:00 2001 From: Sebastian Wick Date: Tue, 12 Sep 2023 20:08:10 +0200 Subject: [PATCH] output: Validate EDID information as UTF-8 only if it exists Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3021 Part-of: --- src/backends/meta-output.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/backends/meta-output.c b/src/backends/meta-output.c index cd64a6adb..9f7bd32a6 100644 --- a/src/backends/meta-output.c +++ b/src/backends/meta-output.c @@ -330,7 +330,8 @@ set_output_details_from_edid (MetaOutputInfo *output_info, g_clear_pointer (&output_info->vendor, g_free); output_info->product = g_strdup (edid_info->dsc_product_name); - if (!g_utf8_validate (output_info->product, -1, NULL) || + if (!output_info->product || + !g_utf8_validate (output_info->product, -1, NULL) || output_info->product[0] == '\0') { g_clear_pointer (&output_info->product, g_free); @@ -339,7 +340,8 @@ set_output_details_from_edid (MetaOutputInfo *output_info, } output_info->serial = g_strdup (edid_info->dsc_serial_number); - if (!g_utf8_validate (output_info->serial, -1, NULL) || + if (!output_info->serial || + !g_utf8_validate (output_info->serial, -1, NULL) || output_info->serial[0] == '\0') { g_clear_pointer (&output_info->serial, g_free);