diff options
author | wm4 <wm4@nowhere> | 2015-04-30 21:57:08 +0200 |
---|---|---|
committer | Diogo Franco (Kovensky) <diogomfranco@gmail.com> | 2015-05-07 10:41:43 +0900 |
commit | b99f78412be9b3a7aa5eb439833d6cc08a4ab4dc (patch) | |
tree | e4e74c0472afafe41f328f050c8220e444915535 /player/scripting.c | |
parent | a4ba496539d4354144645b327509a553cffc6443 (diff) | |
download | mpv-b99f78412be9b3a7aa5eb439833d6cc08a4ab4dc.tar.bz2 mpv-b99f78412be9b3a7aa5eb439833d6cc08a4ab4dc.tar.xz |
player: properly destroy client context if thread can't be created
Minor leak in an obscure out of memory case.
(cherry picked from commit d01228058b03df33a3c6be3acbf2757019a9cd83)
Diffstat (limited to 'player/scripting.c')
-rw-r--r-- | player/scripting.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/player/scripting.c b/player/scripting.c index d8fbb6f84e..3747f50884 100644 --- a/player/scripting.c +++ b/player/scripting.c @@ -135,8 +135,11 @@ static void mp_load_script(struct MPContext *mpctx, const char *fname) MP_VERBOSE(arg, "Loading script %s...\n", fname); pthread_t thread; - if (pthread_create(&thread, NULL, script_thread, arg)) + if (pthread_create(&thread, NULL, script_thread, arg)) { + mpv_detach_destroy(arg->client); talloc_free(arg); + return; + } wait_loaded(mpctx); MP_VERBOSE(mpctx, "Done loading %s.\n", fname); |