From 85f817eaa735c1260f58a8fa48e203f93866156d Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Thu, 10 May 2012 11:20:04 +0100 Subject: tools/blktap2: fix out of bounds access in block-log.c block-log.c: In function 'ctl_close_sock': block-log.c:363:23: warning: array subscript is above array bounds [-Warray-bounds] Adjust loop condition in ctl_close_sock() to fix warning. Adjust array acccess in ctl_close() to actually access the array member. Signed-off-by: Olaf Hering Acked-by: Ian Jackson Committed-by: Keir Fraser --- tools/blktap2/drivers/block-log.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tools/blktap2') diff --git a/tools/blktap2/drivers/block-log.c b/tools/blktap2/drivers/block-log.c index 6a63729eca..5330cdc436 100644 --- a/tools/blktap2/drivers/block-log.c +++ b/tools/blktap2/drivers/block-log.c @@ -324,11 +324,11 @@ static int ctl_open(struct tdlog_state* s, const char* name) static int ctl_close(struct tdlog_state* s) { while (s->connected) { + s->connected--; tapdisk_server_unregister_event(s->connections[s->connected].id); close(s->connections[s->connected].fd); s->connections[s->connected].fd = -1; s->connections[s->connected].id = 0; - s->connected--; } if (s->ctl.fd >= 0) { @@ -359,7 +359,7 @@ static int ctl_close_sock(struct tdlog_state* s, int fd) { int i; - for (i = 0; i <= s->connected; i++) { + for (i = 0; i < s->connected; i++) { if (s->connections[i].fd == fd) { tapdisk_server_unregister_event(s->connections[i].id); close(s->connections[i].fd); -- cgit v1.2.3