From b016f92309403fbd3598e70699464692de8e8f4b Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 11 Aug 2014 13:00:57 +0200 Subject: [PATCH] command: fix dangling pointer issue in script key bindings code This code was sending a string to a different thread, and then deallocated the string shortly after, which means most of the time the other thread was accessing a dangling pointer. It's possible that this is the cause for #1002. --- player/command.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/player/command.c b/player/command.c index 270798d925..cae7e02805 100644 --- a/player/command.c +++ b/player/command.c @@ -3894,7 +3894,7 @@ int run_command(MPContext *mpctx, mp_cmd_t *cmd) *event = (mpv_event_client_message){0}; for (int n = 1; n < cmd->nargs; n++) { MP_TARRAY_APPEND(event, event->args, event->num_args, - cmd->args[n].v.s); + talloc_strdup(event, cmd->args[n].v.s)); } if (mp_client_send_event(mpctx, cmd->args[0].v.s, MPV_EVENT_CLIENT_MESSAGE, event) < 0)