summaryrefslogtreecommitdiffstats
path: root/daemons/dmeventd/dmeventd.c
diff options
context:
space:
mode:
authorPetr Rockai <prockai@redhat.com>2011-03-02 14:20:48 +0000
committerPetr Rockai <prockai@redhat.com>2011-03-02 14:20:48 +0000
commit0263cd7bbc18c3223d1d048c3dd1cb49b0c32797 (patch)
treed2da33df7d227b15a6c39de33251fd2764391e43 /daemons/dmeventd/dmeventd.c
parentc17d430b1f52a85165258a44532bdfbd6766df8a (diff)
downloadlvm2-0263cd7bbc18c3223d1d048c3dd1cb49b0c32797.tar.gz
lvm2-0263cd7bbc18c3223d1d048c3dd1cb49b0c32797.tar.xz
lvm2-0263cd7bbc18c3223d1d048c3dd1cb49b0c32797.zip
Do not run past the end of an array in dmeventd's _handle_request when faced
with an unknown command ID.
Diffstat (limited to 'daemons/dmeventd/dmeventd.c')
-rw-r--r--daemons/dmeventd/dmeventd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
index 28e492ef..b30c2047 100644
--- a/daemons/dmeventd/dmeventd.c
+++ b/daemons/dmeventd/dmeventd.c
@@ -1388,7 +1388,7 @@ static int _client_write(struct dm_event_fifos *fifos,
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 @@ static int _handle_request(struct dm_event_daemon_message *msg,
{ 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);