# HG changeset patch # User zas_ # Date 1210633204 0 # Node ID d062f6b5711a8a5c55813347ca8068209c0059ef # Parent eaf94facc19060b45d419003fc6f5e289bd9f065 bar_exif_validate_text(): use computed length and cleanup. diff -r eaf94facc190 -r d062f6b5711a src/bar_exif.c --- a/src/bar_exif.c Mon May 12 19:56:28 2008 +0000 +++ b/src/bar_exif.c Mon May 12 23:00:04 2008 +0000 @@ -143,12 +143,20 @@ gchar *bar_exif_validate_text(gchar *text) { - if (text && !g_utf8_validate(text, strlen(text), NULL)) + gint len; + + if (!text) return NULL; + + len = strlen(text); + if (!g_utf8_validate(text, len, NULL)) { - gchar *tmp = text; - text = g_convert(tmp, strlen(tmp), "UTF-8", "ISO-8859-1", NULL, NULL, NULL); - g_free(tmp); + gchar *conv_text; + + conv_text = g_convert(text, len, "UTF-8", "ISO-8859-1", NULL, NULL, NULL); + g_free(text); + text = conv_text; } + return text; }