diff --git a/src/document_store.zig b/src/document_store.zig index 7d52f57..478fd08 100644 --- a/src/document_store.zig +++ b/src/document_store.zig @@ -316,7 +316,9 @@ pub const AnalysisContext = struct { // Swap handles and get new tree. // This takes ownership of the passed uri and text. - self.handle = try newDocument(self.store, try std.mem.dupe(allocator, u8, final_uri), file_contents); + const duped_final_uri = try std.mem.dupe(allocator, u8, final_uri); + errdefer allocator.free(duped_final_uri); + self.handle = try newDocument(self.store, duped_final_uri, file_contents); } // Free old tree, add new one if it exists.