X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-utils.c;h=8df81afb8ad49ae00cae307ebd3d3f3e141ac612;hp=b050d0ae37f49760d021376643e6099371fd48d8;hb=1ad54969b11f4b8598afe3f33246f0178d6c35ac;hpb=14d052233d0d69a0aa3dbf8b32fbb3c0defdca23 diff --git a/src/modest-utils.c b/src/modest-utils.c index b050d0a..8df81af 100644 --- a/src/modest-utils.c +++ b/src/modest-utils.c @@ -134,13 +134,17 @@ modest_utils_create_temp_stream (const gchar *orig_name, const gchar *hash_base, /* hmmm... maybe we need a modest_text_utils_validate_file_name? */ g_return_val_if_fail (orig_name && strlen(orig_name) != 0, NULL); - if (strlen(orig_name) > 200) { + tmp = g_uri_escape_string (orig_name, G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT, FALSE); + + if (strlen(tmp) > 200) { + g_free (tmp); g_warning ("%s: filename too long ('%s')", __FUNCTION__, orig_name); return NULL; } - if (g_strstr_len (orig_name, strlen(orig_name), "/") != NULL) { + if (g_strstr_len (tmp, strlen (tmp), "/") != NULL) { + g_free (tmp); g_warning ("%s: filename contains '/' character(s) (%s)", __FUNCTION__, orig_name); return NULL; @@ -160,7 +164,6 @@ modest_utils_create_temp_stream (const gchar *orig_name, const gchar *hash_base, return NULL; } - tmp = g_uri_escape_string (orig_name, NULL, FALSE); filepath = g_build_filename (tmpdir, tmp, NULL); g_free (tmp);