[text] Crash when multi-byte utf8 text exceeds max_length
Bug 1500 - [Patch] clutter_text crash with non one-byte utf8 text exceed max_length In clutter_text_set_text_internal(), when text length in character is greater than max_length, and there are multi-byte character in it, then the new text string buffer is not malloc()'ed with right length. This will cause the app to crash with segmention fault. Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
This commit is contained in:
parent
a83a5d5593
commit
039e282a40
@ -2810,7 +2810,8 @@ clutter_text_set_text_internal (ClutterText *self,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gchar *n = g_malloc0 (priv->max_length + 1);
|
gchar *p = g_utf8_offset_to_pointer (text, priv->max_length);
|
||||||
|
gchar *n = g_malloc0 ((p - text) + 1);
|
||||||
|
|
||||||
g_free (priv->text);
|
g_free (priv->text);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user