fix: prevent segfault in case ispell does not provide any output

This commit is contained in:
2023-11-05 19:57:19 +01:00
parent bea4861232
commit ce837f9130
2 changed files with 7 additions and 1 deletions

View File

@@ -17,7 +17,7 @@ zig build -Doptimize=ReleaseFast
If you wish to install it into */usr/local/* you will have to provide the prefix argument:
```sh
sudo zig build install -p /usr/local/ -DoptimizeReleaseFast
sudo zig build install -p /usr/local/ -Doptimize=ReleaseFast
```
This was build using zig 0.12.0.dev but should work with the most recent version of zig.

View File

@@ -85,6 +85,12 @@ pub fn main() !void {
}
std.mem.copy(u8, content, output[start_idx .. output.len - 1]);
defer allocator.free(content);
// prevent access to result if the ispell output has only a single line
if (output.len - start_idx > 0) {
try stdout_writer.print("{s}", .{word});
try bw.flush(); // don't forget to flush!
return;
}
if (content[0] == '*' or content[0] == '+') {
// given word was correct so just return the input as no replacement is necessary