mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-23 18:52:09 +01:00
Guard against bogus return value from strxfrm(). For instance Microsoft's
2004-08-21 Tor Lillqvist <tml@iki.fi> * glib/gunicollate.c (g_utf8_collate_key): Guard against bogus return value from strxfrm(). For instance Microsoft's strxfrm() returns INT_MAX on errors. (#141124)
This commit is contained in:
parent
f2daf6dece
commit
c43edd263b
@ -1,3 +1,9 @@
|
|||||||
|
2004-08-21 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
|
||||||
|
return value from strxfrm(). For instance Microsoft's strxfrm()
|
||||||
|
returns INT_MAX on errors. (#141124)
|
||||||
|
|
||||||
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2004-08-21 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
|
||||||
|
return value from strxfrm(). For instance Microsoft's strxfrm()
|
||||||
|
returns INT_MAX on errors. (#141124)
|
||||||
|
|
||||||
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2004-08-21 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
|
||||||
|
return value from strxfrm(). For instance Microsoft's strxfrm()
|
||||||
|
returns INT_MAX on errors. (#141124)
|
||||||
|
|
||||||
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2004-08-21 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
|
||||||
|
return value from strxfrm(). For instance Microsoft's strxfrm()
|
||||||
|
returns INT_MAX on errors. (#141124)
|
||||||
|
|
||||||
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2004-08-21 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
|
||||||
|
return value from strxfrm(). For instance Microsoft's strxfrm()
|
||||||
|
returns INT_MAX on errors. (#141124)
|
||||||
|
|
||||||
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
2004-08-19 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
|
||||||
|
@ -231,6 +231,14 @@ g_utf8_collate_key (const gchar *str,
|
|||||||
if (str_locale)
|
if (str_locale)
|
||||||
{
|
{
|
||||||
xfrm_len = strxfrm (NULL, str_locale, 0);
|
xfrm_len = strxfrm (NULL, str_locale, 0);
|
||||||
|
if (xfrm_len < 0 || xfrm_len >= G_MAXINT - 2)
|
||||||
|
{
|
||||||
|
g_free (str_locale);
|
||||||
|
str_locale = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (str_locale)
|
||||||
|
{
|
||||||
result = g_malloc (xfrm_len + 2);
|
result = g_malloc (xfrm_len + 2);
|
||||||
result[0] = 'A';
|
result[0] = 'A';
|
||||||
strxfrm (result + 1, str_locale, xfrm_len + 1);
|
strxfrm (result + 1, str_locale, xfrm_len + 1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user