From d55275d6033e5936b6d9ff72eb553d7709d0d4b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Sun, 5 May 2013 21:53:36 +0200 Subject: [PATCH] Be a bit more robust, fix data entries --- stardict.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/stardict.c b/stardict.c index 3e1fd55..471ab62 100644 --- a/stardict.c +++ b/stardict.c @@ -822,10 +822,13 @@ read_entry (gchar type, const gchar **entry_iterator, GString *data = g_string_new (NULL); if (is_final) + { g_string_append_len (data, entry, end - entry); + entry += end - entry; + } else { - gchar c; + gint c = EOF; while (entry < end && (c = *entry++)) g_string_append_c (data, c); @@ -860,7 +863,7 @@ read_entry (gchar type, const gchar **entry_iterator, sef->type = type; sef->data_size = length; sef->data = memcpy (g_malloc (length), entry, length); - *entry_iterator = entry; + *entry_iterator = entry + length; return sef; }