diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 1aae733d27..5c4c6e9e2e 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -631,6 +631,12 @@ css_provider_commit (GtkCssProvider *css_provider, GtkCssProviderPrivate *priv = gtk_css_provider_get_instance_private (css_provider); GSList *l; + if (ruleset->styles == NULL) + { + g_slist_free_full (selectors, (GDestroyNotify) _gtk_css_selector_free); + return; + } + for (l = selectors; l; l = l->next) { GtkCssRuleset new; diff --git a/testsuite/css/parser/border-crash-3.24.errors b/testsuite/css/parser/border-crash-3.24.errors index c49f1d071a..f7b815aaf5 100644 --- a/testsuite/css/parser/border-crash-3.24.errors +++ b/testsuite/css/parser/border-crash-3.24.errors @@ -1 +1 @@ -border-crash-3.24.css:3: error: GTK_CSS_PROVIDER_ERROR_SYNTAX +border-crash-3.24.css:3:3-10: error: GTK_CSS_PARSER_ERROR_SYNTAX