From 98203198b6aacbeb99f1e10a9f41acaa9ead0126 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 24 Oct 2011 02:28:56 +0200 Subject: input: fix crashes with libmenu Note: now that libmenu has been removed, the related code in input.c has been removed. If libmenu is ever added back, a queue_remove() function that can remove any item in the input queue will be required. libmenu triggered some special case that caused crashes by double frees. In particular the queue_pop function is used, expecting to remove an element that is not necessarily always the one that queue_pop removes. Fix by adding a queue_remove functions. Rewrite the other queue functions, since these are probably buggy as well. queue_pop didn't even attempt to maintain the doubly linked list. --- input/input.h | 1 - 1 file changed, 1 deletion(-) (limited to 'input/input.h') diff --git a/input/input.h b/input/input.h index 4058ce3d99..8d32a9907c 100644 --- a/input/input.h +++ b/input/input.h @@ -194,7 +194,6 @@ typedef struct mp_cmd { int nargs; struct mp_cmd_arg args[MP_CMD_MAX_ARGS]; int pausing; - struct mp_cmd *queue_prev; struct mp_cmd *queue_next; } mp_cmd_t; -- cgit v1.2.3