Commit b8a304a9 authored by Simon Dawson's avatar Simon Dawson Committed by Peter Korsgaard
Browse files

lcdproc: bump version to 0.5.6

parent 2fc64312
Loading
Loading
Loading
Loading
+0 −19
Original line number Diff line number Diff line
Trying to add a menu item using menu_add_item causes a segmentation fault
in the LCDd server. This is caused by a read beyond the end of an array.

This patch adds a safety check on the size of the argument array.

Signed-off-by: Simon Dawson <spdawson@gmail.com>

diff -Nurp a/server/commands/menu_commands.c b/server/commands/menu_commands.c
--- a/server/commands/menu_commands.c	2011-08-14 13:29:16.000000000 +0100
+++ b/server/commands/menu_commands.c	2012-10-04 22:19:07.997409193 +0100
@@ -198,7 +198,7 @@ menu_add_item_func(Client *c, int argc,
 
 	/* call menu_set_item() with a temporarily allocated argv
 	 * to process the remaining options */
-	if ((argc > 5) || (argv[4][0] == '-')) {
+	if ((argc > 5) || ((argc == 5) && argv[4][0] == '-')) {
 		// menu_add_item <menuid> <newitemid> <type> [<text>]
 		// menu_set_item <menuid> <itemid> {<option>}+
 		int i, j;
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
# lcdproc
#
#############################################################
LCDPROC_VERSION = 0.5.5
LCDPROC_VERSION = 0.5.6
LCDPROC_SOURCE = lcdproc-$(LCDPROC_VERSION).tar.gz
LCDPROC_SITE = http://downloads.sourceforge.net/project/lcdproc/lcdproc/$(LCDPROC_VERSION)
LCDPROC_LICENSE = GPLv2+