From 9a1e824a6f1925ea2977c2f9ac83cd0db92d0116 Mon Sep 17 00:00:00 2001
From: Lars Hupel <lars.hupel@mytum.de>
Date: Thu, 1 Oct 2015 22:19:06 +0200
Subject: [PATCH] toRealPath() is required for untarring Isabelle

26d723e broke this, but I have no idea how it ever worked *after* that
change (it probably didn't). The problem is that untarring checks for
"malicious" tarfiles and in the process, normalizes entry paths. If the
outer path is not normalized, the subpath check fails.
---
 src/main/scala/leon/solvers/isabelle/IsabelleEnvironment.scala | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/scala/leon/solvers/isabelle/IsabelleEnvironment.scala b/src/main/scala/leon/solvers/isabelle/IsabelleEnvironment.scala
index 33094b936..853af8056 100644
--- a/src/main/scala/leon/solvers/isabelle/IsabelleEnvironment.scala
+++ b/src/main/scala/leon/solvers/isabelle/IsabelleEnvironment.scala
@@ -58,7 +58,7 @@ object IsabelleEnvironment {
       case _ =>
         context.reporter.info(s"No $version found at $base")
         context.reporter.info(s"Preparing $version environment ...")
-        Setup.installTo(Files.createDirectories(base), version)
+        Setup.installTo(Files.createDirectories(base).toRealPath(), version)
     }
 
     val system = setup.flatMap { setup =>
-- 
GitLab