Index: base/third_party/xdg_mime/xdgmime.c |
diff --git a/base/third_party/xdg_mime/xdgmime.c b/base/third_party/xdg_mime/xdgmime.c |
index c7b16bbca762f89aafa7a95e62d7ec0db4d96bf0..6dc58c253fa2b559d80e60b3fcb53012fb7cba71 100644 |
--- a/base/third_party/xdg_mime/xdgmime.c |
+++ b/base/third_party/xdg_mime/xdgmime.c |
@@ -558,13 +558,13 @@ xdg_mime_get_mime_type_for_file (const char *file_name, |
mime_type = _xdg_mime_magic_lookup_data (global_magic, data, bytes_read, NULL, |
mime_types, n); |
- free (data); |
fclose (file); |
- if (mime_type) |
- return mime_type; |
+ if (!mime_type) |
+ mime_type = _xdg_binary_or_text_fallback(data, bytes_read); |
- return _xdg_binary_or_text_fallback(data, bytes_read); |
+ free (data); |
+ return mime_type; |
} |
const char * |