diff --git a/go/extractor/util/subst_windows.go b/go/extractor/util/subst_windows.go index b31ee08dc22..a64f21576fd 100644 --- a/go/extractor/util/subst_windows.go +++ b/go/extractor/util/subst_windows.go @@ -30,9 +30,14 @@ func init() { } p, err := d.FindProc("resolve_subst") if err != nil { + d.Release() + return + } + f, err := d.FindProc("resolve_subst_free") + if err != nil { + d.Release() return } - f, _ := d.FindProc("resolve_subst_free") dll = d procResolve = p procFree = f diff --git a/java/kotlin-extractor/src/main/java/com/semmle/util/files/SubstResolver.java b/java/kotlin-extractor/src/main/java/com/semmle/util/files/SubstResolver.java index 3d93c45234d..4d3975f19b3 100644 --- a/java/kotlin-extractor/src/main/java/com/semmle/util/files/SubstResolver.java +++ b/java/kotlin-extractor/src/main/java/com/semmle/util/files/SubstResolver.java @@ -18,7 +18,7 @@ public class SubstResolver { boolean loaded = false; if (File.separatorChar == '\\') { String dist = System.getenv("CODEQL_DIST"); - if (dist != null && !dist.isEmpty()) { + if (dist != null && !dist.isEmpty()) { try { Path library = Paths.get(dist).resolve("tools") .resolve("win64").resolve("canonicalize.dll").toAbsolutePath(); @@ -61,7 +61,12 @@ public class SubstResolver { return f; } - String resolved = nativeResolveSubst(path.substring(0, 3)); + String resolved; + try { + resolved = nativeResolveSubst(path.substring(0, 3)); + } catch (UnsatisfiedLinkError ignored) { + return f; + } if (resolved == null) { return f; }