From 76ee4b80fd3c1741a7e97b6b4ac8881b3c851e73 Mon Sep 17 00:00:00 2001 From: dec05eba <66856951+dec05eba@users.noreply.github.com> Date: Sun, 5 Mar 2023 20:09:39 +0100 Subject: [PATCH] Fix crash if zls.json is empty (#1034) Fixes #1033 --- src/configuration.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/configuration.zig b/src/configuration.zig index 87a0279..b9ae748 100644 --- a/src/configuration.zig +++ b/src/configuration.zig @@ -32,7 +32,10 @@ pub fn loadFromFile(allocator: std.mem.Allocator, file_path: []const u8) ?Config // TODO: use a better error reporting system or use ZON instead of JSON // TODO: report errors using "textDocument/publishDiagnostics" var config = std.json.parse(Config, &token_stream, parse_options) catch |err| { - const loc = std.zig.findLineColumn(file_buf, token_stream.i); + const loc = if (token_stream.slice.len == 0) + std.zig.Loc{ .line = 0, .column = 0, .source_line = "" } + else + std.zig.findLineColumn(file_buf, token_stream.i); logger.warn("{s}:{d}:{d}: Error while parsing configuration file {}", .{ file_path, loc.line + 1, loc.column, err }); if (err == error.InvalidValueBegin) { logger.warn("Maybe your configuration file contains a trailing comma", .{});