diff options
Diffstat (limited to 'src/Control.zig')
| -rw-r--r-- | src/Control.zig | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Control.zig b/src/Control.zig index 6a94502..e9ae576 100644 --- a/src/Control.zig +++ b/src/Control.zig @@ -110,9 +110,12 @@ fn runCommand( var failure_message: []const u8 = undefined; command.run(allocator, seat, args.items, &failure_message) catch |err| { if (err == command.Error.CommandFailed) { - const out = std.cstr.addNullByte(allocator, failure_message) catch "out of memory"; + defer allocator.free(failure_message); + const out = std.cstr.addNullByte(allocator, failure_message) catch { + c.zriver_command_callback_v1_send_failure(callback_resource, "out of memory"); + return; + }; defer allocator.free(out); - allocator.free(failure_message); c.zriver_command_callback_v1_send_failure(callback_resource, out); } else { c.zriver_command_callback_v1_send_failure( |
