From bf70d58d55d8a77de72c86e68aa0960d71b22eed Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 2 Aug 2021 11:52:58 +0100 Subject: [PATCH] test_string_replace: Exercise zero-length replacements Previously, these would have done 2**32 replacements, and the first one would have consumed 6GB of memory in the process. They now match what Python `str.replace()` does. Reproduces: https://gitlab.gnome.org/GNOME/glib/-/issues/2452 Signed-off-by: Simon McVittie --- glib/tests/string.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/glib/tests/string.c b/glib/tests/string.c index 333e0254e..24098d1be 100644 --- a/glib/tests/string.c +++ b/glib/tests/string.c @@ -528,6 +528,12 @@ test_string_replace (void) "", 3 }, { "aaa", "aa", "bb", 0, "bba", 1 }, + { "foo", "", "bar", 0, + "barfbarobarobar", 4 }, + { "", "", "x", 0, + "x", 1 }, + { "", "", "", 0, + "", 1 }, }; gsize i;