From afca2056996dbe5e934676c1eacaf31d7f7b3c02 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Sat, 30 Jan 2021 21:29:07 +0100 Subject: [PATCH] MPD: A working swap command... - swap was not check in handle_simple_command - one additional sqlite3_finalize segv lektord --- src/database/queue.c | 1 + src/net/listen.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/database/queue.c b/src/database/queue.c index d961fbaa..2c8ac930 100644 --- a/src/database/queue.c +++ b/src/database/queue.c @@ -541,6 +541,7 @@ database_queue_swap(volatile sqlite3 *db, int from, int to) #undef POP_QUEUE sta = true; + goto error_no_stmt; error: sqlite3_finalize(stmt); error_no_stmt: diff --git a/src/net/listen.c b/src/net/listen.c index 8ff1d10e..89617e16 100644 --- a/src/net/listen.c +++ b/src/net/listen.c @@ -203,6 +203,8 @@ handle_simple_command(struct lkt_state *srv, size_t c, struct lkt_command cmd) err = ! command_move(srv, cmd.args); else if (STR_MATCH(cmd.name, "shuffle")) err = ! command_shuffle(srv, NULL); + else if (STR_MATCH(cmd.name, "swap")) + err = ! command_swap(srv, cmd.args); else if (STR_MATCH(cmd.name, "seek")) err = ! command_seek(srv, cmd.args); -- GitLab