aboutsummaryrefslogtreecommitdiffstats
path: root/tools/blktap2
diff options
context:
space:
mode:
authorOlaf Hering <olaf@aepfle.de>2012-05-10 11:20:04 +0100
committerOlaf Hering <olaf@aepfle.de>2012-05-10 11:20:04 +0100
commit85f817eaa735c1260f58a8fa48e203f93866156d (patch)
tree9d03b45832df21b5ab8e6281cc195b021cff2717 /tools/blktap2
parent0e63f12a2c773fcd4c40e7caf2ba68deb0c77acc (diff)
downloadxen-85f817eaa735c1260f58a8fa48e203f93866156d.tar.gz
xen-85f817eaa735c1260f58a8fa48e203f93866156d.tar.bz2
xen-85f817eaa735c1260f58a8fa48e203f93866156d.zip
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 <olaf@aepfle.de> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'tools/blktap2')
-rw-r--r--tools/blktap2/drivers/block-log.c4
1 files changed, 2 insertions, 2 deletions
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);