[gimp] app: don't validate the terminating \0 of a gimp-comment parasite
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: don't validate the terminating \0 of a gimp-comment parasite
- Date: Tue, 31 May 2016 20:33:59 +0000 (UTC)
commit 790cde3dd8496b2646dcb22315d8c19bf95cb113
Author: Michael Natterer <mitch gimp org>
Date: Tue May 31 22:28:44 2016 +0200
app: don't validate the terminating \0 of a gimp-comment parasite
Valid UTF-8 doesn't contain nul bytes.
app/core/gimpimage.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c
index 40bfe9b..5930b37 100644
--- a/app/core/gimpimage.c
+++ b/app/core/gimpimage.c
@@ -3410,9 +3410,16 @@ gimp_image_parasite_validate (GimpImage *image,
}
else if (strcmp (name, "gimp-comment") == 0)
{
- if (! g_utf8_validate (gimp_parasite_data (parasite),
- gimp_parasite_data_size (parasite),
- NULL))
+ const gchar *data = gimp_parasite_data (parasite);
+ gssize length = gimp_parasite_data_size (parasite);
+ gboolean valid;
+
+ if (data[length - 1] == '\0')
+ valid = g_utf8_validate (data, -1, NULL);
+ else
+ valid = g_utf8_validate (data, length, NULL);
+
+ if (! valid)
{
g_set_error (error, GIMP_ERROR, GIMP_FAILED,
_("'gimp-comment' parasite validation failed: "
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]