Add tests for the empty pattern.

2004-04-15  Matthias Clasen  <mclasen@redhat.com>

	* tests/patterntest.c (main): Add tests for the empty pattern.

	* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
	of bounds when the pattern is empty.  (#140032, Stanislav Brabec,
	Stefan Fent)
This commit is contained in:
Matthias Clasen 2004-04-15 13:58:29 +00:00 committed by Matthias Clasen
parent 817f25b95b
commit f4d9fcd8d4
8 changed files with 52 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* tests/patterntest.c (main): Add tests for the empty pattern.
* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
of bounds when the pattern is empty. (#140032, Stanislav Brabec,
Stefan Fent)
2004-04-10 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_getlocale): Add new language and

View File

@ -1,3 +1,11 @@
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* tests/patterntest.c (main): Add tests for the empty pattern.
* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
of bounds when the pattern is empty. (#140032, Stanislav Brabec,
Stefan Fent)
2004-04-10 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_getlocale): Add new language and

View File

@ -1,3 +1,11 @@
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* tests/patterntest.c (main): Add tests for the empty pattern.
* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
of bounds when the pattern is empty. (#140032, Stanislav Brabec,
Stefan Fent)
2004-04-10 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_getlocale): Add new language and

View File

@ -1,3 +1,11 @@
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* tests/patterntest.c (main): Add tests for the empty pattern.
* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
of bounds when the pattern is empty. (#140032, Stanislav Brabec,
Stefan Fent)
2004-04-10 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_getlocale): Add new language and

View File

@ -1,3 +1,11 @@
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* tests/patterntest.c (main): Add tests for the empty pattern.
* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
of bounds when the pattern is empty. (#140032, Stanislav Brabec,
Stefan Fent)
2004-04-10 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_getlocale): Add new language and

View File

@ -1,3 +1,11 @@
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* tests/patterntest.c (main): Add tests for the empty pattern.
* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
of bounds when the pattern is empty. (#140032, Stanislav Brabec,
Stefan Fent)
2004-04-10 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_getlocale): Add new language and

View File

@ -243,7 +243,8 @@ g_pattern_spec_new (const gchar *pattern)
pspec->pattern[pspec->pattern_length] = 0;
return pspec;
}
if (pspec->pattern[pspec->pattern_length - 1] == '*')
if (pspec->pattern_length > 0 &&
pspec->pattern[pspec->pattern_length - 1] == '*')
{
pspec->match_type = G_MATCH_HEAD;
pspec->pattern[--pspec->pattern_length] = 0;

View File

@ -273,6 +273,8 @@ main (int argc, char** argv)
TEST_MATCH("ab*", "ab\xc3\xa4\xc3\xb6", TRUE);
TEST_MATCH("ab*\xc3\xb6", "ab\xc3\xa4\xc3\xb6", TRUE);
TEST_MATCH("ab*\xc3\xb6", "aba\xc3\xb6x\xc3\xb6", TRUE);
TEST_MATCH("", "", TRUE);
TEST_MATCH("", "abc", FALSE);
verbose ("\n%u tests passed, %u failed\n", passed, failed);