Bug 794949 - Plugin crash when opening png, jpeg or tiff with...
... non-latin unicode path. g_win32_locale_filename_from_utf8() was sometimes returning NULL for some paths on Windows. Then the call to gexiv2_metadata_open_path() with a NULL value was crashing plug-ins. This commit only prevents from crashing by simply failing to load metadata when this occurs, which means losing metadata support on Windows depending on filenames. A proper solution will have to be implemented.
This commit is contained in:
@ -848,6 +848,17 @@ gimp_metadata_load_from_file (GFile *file,
|
|||||||
|
|
||||||
#ifdef G_OS_WIN32
|
#ifdef G_OS_WIN32
|
||||||
filename = g_win32_locale_filename_from_utf8 (path);
|
filename = g_win32_locale_filename_from_utf8 (path);
|
||||||
|
/* FIXME!
|
||||||
|
* This call can return NULL, which later crashes the call to
|
||||||
|
* gexiv2_metadata_open_path().
|
||||||
|
* See bug 794949.
|
||||||
|
*/
|
||||||
|
if (! filename)
|
||||||
|
{
|
||||||
|
g_set_error (error, GIMP_METADATA_ERROR, 0,
|
||||||
|
_("Conversion of the filename to system codepage failed."));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
filename = g_strdup (path);
|
filename = g_strdup (path);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user