diff -r 75811cab0180 -r 607d2fb48f47 jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java --- a/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java Wed Feb 27 12:10:59 2013 +0400 +++ b/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java Wed Feb 27 11:44:41 2013 +0000 @@ -67,6 +67,8 @@ NativeBuffer buffer = NativeBuffers.asNativeBuffer(path.getByteArrayForSysCalls()); try { if (gioAvailable) { + // GIO may access file so need permission check + path.checkRead(); byte[] type = probeUsingGio(buffer.address()); return (type == null) ? null : new String(type); } else { @@ -76,7 +78,6 @@ String s = new String(type); return s.equals(GNOME_VFS_MIME_TYPE_UNKNOWN) ? null : s; } - } finally { buffer.release(); }