diff options
author | Petr Rockai <prockai@redhat.com> | 2011-03-02 14:20:48 +0000 |
---|---|---|
committer | Petr Rockai <prockai@redhat.com> | 2011-03-02 14:20:48 +0000 |
commit | 0263cd7bbc18c3223d1d048c3dd1cb49b0c32797 (patch) | |
tree | d2da33df7d227b15a6c39de33251fd2764391e43 /daemons/dmeventd/dmeventd.c | |
parent | c17d430b1f52a85165258a44532bdfbd6766df8a (diff) | |
download | lvm2-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.c | 4 |
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); |