From 65b1c2d06518108acfc5be4267b9d5284ae614ef Mon Sep 17 00:00:00 2001 From: dudemanguy Date: Mon, 8 Jul 2019 08:23:04 -0500 Subject: client: fix potential mpv_cmd/async leak --- player/client.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'player') diff --git a/player/client.c b/player/client.c index 03e0cbfeb6..4199dcc638 100644 --- a/player/client.c +++ b/player/client.c @@ -1035,10 +1035,12 @@ static void cmd_complete(struct mp_cmd_ctx *cmd) static int run_client_command(mpv_handle *ctx, struct mp_cmd *cmd, mpv_node *res) { - if (!ctx->mpctx->initialized) - return MPV_ERROR_UNINITIALIZED; if (!cmd) return MPV_ERROR_INVALID_PARAMETER; + if (!ctx->mpctx->initialized) { + talloc_free(cmd); + return MPV_ERROR_UNINITIALIZED; + } cmd->sender = ctx->name; @@ -1139,10 +1141,12 @@ static void async_cmd_fn(void *data) static int run_async_cmd(mpv_handle *ctx, uint64_t ud, struct mp_cmd *cmd) { - if (!ctx->mpctx->initialized) - return MPV_ERROR_UNINITIALIZED; if (!cmd) return MPV_ERROR_INVALID_PARAMETER; + if (!ctx->mpctx->initialized) { + talloc_free(cmd); + return MPV_ERROR_UNINITIALIZED; + } cmd->sender = ctx->name; -- cgit v1.2.3