diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-03-19 04:17:55 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-03-19 04:17:55 +0000 |
commit | a229f11f332f7038bfcaeb3c74b34f6e0c0e0e70 (patch) | |
tree | 91a729f073a340c2563dcb1053fa48b110e87617 /tests/testattributes.c | |
parent | 74e437bc6502aae80b3a3a9b0775cbd841665617 (diff) | |
parent | 5de30b596bd4b2b65715fc283264448127ca4b61 (diff) | |
download | pango-a229f11f332f7038bfcaeb3c74b34f6e0c0e0e70.tar.gz |
Merge branch 'attr-list-bad-access' into 'main'
AVoid a use-after-free in pango_attr_list_change
Closes #678
See merge request GNOME/pango!603
Diffstat (limited to 'tests/testattributes.c')
-rw-r--r-- | tests/testattributes.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/testattributes.c b/tests/testattributes.c index 4a6b69b4..5d3334e8 100644 --- a/tests/testattributes.c +++ b/tests/testattributes.c @@ -1398,6 +1398,28 @@ test_change_order (void) pango_attr_list_unref (list); } +static void +test_pitivi_crash (void) +{ + PangoAttrList *list; + PangoAttribute *attr; + + list = pango_attr_list_from_string ("0 8 font-features \"tnum=1\"\n" + "0 20 font-desc \"sans-serif\"\n" + "0 9 size 102400\n"); + + attr = pango_attr_font_features_new ("tnum=2"); + attr->end_index = 9; + + pango_attr_list_change (list, attr); + + assert_attr_list (list, "0 9 font-features \"tnum=2\"\n" + "0 20 font-desc \"sans-serif\"\n" + "0 9 size 102400\n"); + + pango_attr_list_unref (list); +} + int main (int argc, char *argv[]) { @@ -1439,6 +1461,7 @@ main (int argc, char *argv[]) g_test_add_func ("/attributes/iter/epsilon_zero", test_iter_epsilon_zero); g_test_add_func ("/attributes/gnumeric-splice", test_gnumeric_splice); g_test_add_func ("/attributes/list/change_order", test_change_order); + g_test_add_func ("/attributes/pitivi-crash", test_pitivi_crash); return g_test_run (); } |