diff options
author | wm4 <wm4@nowhere> | 2012-10-14 23:45:41 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-10-14 23:45:41 +0200 |
commit | f2e662fe3f5a529e83bb298342f899129ce6f07d (patch) | |
tree | 1bc8ee3f35c1f87c005926ad306bdeda3a1749f8 | |
parent | 73b44b44a4c97653189fdcdddb78e49507b6baa7 (diff) | |
download | mpv-f2e662fe3f5a529e83bb298342f899129ce6f07d.tar.bz2 mpv-f2e662fe3f5a529e83bb298342f899129ce6f07d.tar.xz |
input: fix mp_cmd memory leak
mp_input_feed_key() didn't free the command, if it was discarded due
to the queue exceeding its maximum size.
-rw-r--r-- | input/input.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/input/input.c b/input/input.c index 63d8537ed3..f2b601fdbe 100644 --- a/input/input.c +++ b/input/input.c @@ -1362,7 +1362,10 @@ void mp_input_feed_key(struct input_ctx *ictx, int code) struct cmd_queue *queue = &ictx->key_cmd_queue; if (queue_count_cmds(queue) >= ictx->key_fifo_size && (!mp_input_is_abort_cmd(cmd->id) || queue_has_abort_cmds(queue))) + { + talloc_free(cmd); return; + } queue_add(queue, cmd, false); } |