private static File createTempLibraryFile()

in src/main/java/com/uber/h3core/H3CoreLoader.java [96:112]


  private static File createTempLibraryFile(OperatingSystem os) throws IOException {
    if (os.isPosix()) {
      // Note this is already done by the implementation of Files.createTempFile that I looked at,
      // but the javadoc does not seem to gaurantee the permissions will be restricted to owner
      // write.
      final FileAttribute<Set<PosixFilePermission>> attr =
          PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rwx------"));
      return Files.createTempFile("libh3-java", os.getSuffix(), attr).toFile();
    } else {
      // When not a POSIX OS, try to ensure the permissions are secure
      final File f = Files.createTempFile("libh3-java", os.getSuffix()).toFile();
      f.setReadable(true, true);
      f.setWritable(true, true);
      f.setExecutable(true, true);
      return f;
    }
  }