From: Benjamin Otte Date: Sun, 26 Dec 2021 21:58:09 +0000 (+0100) Subject: css: Don't crash on invalid rotate3d() X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~5^2~13^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fce9b35e4df99fdc6a35b5d80aecf09f6809aeae;p=gtk4.git css: Don't crash on invalid rotate3d() --- diff --git a/gtk/gtkcsstransformvalue.c b/gtk/gtkcsstransformvalue.c index 6cec8cd7c0..0b59cdee87 100644 --- a/gtk/gtkcsstransformvalue.c +++ b/gtk/gtkcsstransformvalue.c @@ -942,7 +942,7 @@ _gtk_css_transform_value_parse (GtkCssParser *parser) while (TRUE) { - GtkCssTransform transform; + GtkCssTransform transform = { 0, }; if (gtk_css_parser_has_function (parser, "matrix")) { diff --git a/testsuite/css/parser/meson.build b/testsuite/css/parser/meson.build index 07f2ca4a73..d0fdd0d9a9 100644 --- a/testsuite/css/parser/meson.build +++ b/testsuite/css/parser/meson.build @@ -452,6 +452,9 @@ test_data = [ 'radial-positions.errors', 'radial-positions.ref.css', 'radial.ref.css', + 'rotate3d-crash.css', + 'rotate3d-crash.errors', + 'rotate3d-crash.ref.css', 'selector.css', 'selector.ref.css', 'selector-original.css', diff --git a/testsuite/css/parser/rotate3d-crash.css b/testsuite/css/parser/rotate3d-crash.css new file mode 100644 index 0000000000..7e0b45c24a --- /dev/null +++ b/testsuite/css/parser/rotate3d-crash.css @@ -0,0 +1,3 @@ +* { + transform: rotate3d(90,90,90); +} diff --git a/testsuite/css/parser/rotate3d-crash.errors b/testsuite/css/parser/rotate3d-crash.errors new file mode 100644 index 0000000000..57ab5b7341 --- /dev/null +++ b/testsuite/css/parser/rotate3d-crash.errors @@ -0,0 +1 @@ +rotate3d-crash.css:2:31-32: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/rotate3d-crash.ref.css b/testsuite/css/parser/rotate3d-crash.ref.css new file mode 100644 index 0000000000..e69de29bb2