From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18455 invoked by alias); 2 Mar 2011 14:20:49 -0000 Received: (qmail 18438 invoked by uid 9699); 2 Mar 2011 14:20:49 -0000 Date: Wed, 02 Mar 2011 14:20:00 -0000 Message-ID: <20110302142049.18436.qmail@sourceware.org> From: mornfall@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/daemons/dmeventd dmeventd.c Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2011-03/txt/msg00015.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: mornfall@sourceware.org 2011-03-02 14:20:48 Modified files: daemons/dmeventd: dmeventd.c Log message: Do not run past the end of an array in dmeventd's _handle_request when faced with an unknown command ID. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/dmeventd/dmeventd.c.diff?cvsroot=lvm2&r1=1.76&r2=1.77 --- LVM2/daemons/dmeventd/dmeventd.c 2011/03/02 12:49:13 1.76 +++ LVM2/daemons/dmeventd/dmeventd.c 2011/03/02 14:20:48 1.77 @@ -1388,7 +1388,7 @@ static int _handle_request(struct dm_event_daemon_message *msg, struct message_data *message_data) { - static struct { + static struct request { unsigned int cmd; int (*f)(struct message_data *); } requests[] = { @@ -1403,7 +1403,7 @@ { DM_EVENT_CMD_GET_STATUS, _get_status}, }, *req; - for (req = requests; req < requests + sizeof(requests); req++) + for (req = requests; req < requests + sizeof(requests) / sizeof(struct request); req++) if (req->cmd == msg->cmd) return req->f(message_data);