[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2] blktap2: update connection handling to fix build with gcc5
blktap2 fails to build with gcc5 because it fails to recognize that there can be just one active connection (enforced in ctl_accept). Add a hack to use MAX_CONNECTIONS instead of ARRAY_SIZE: gives a smaller patch, and the code does not handle holes in connections[] anyway. [ 198s] block-log.c: In function 'ctl_close_sock': [ 198s] block-log.c:363:23: error: array subscript is above array bounds [-Werror=array-bounds] [ 198s] if (s->connections[i].fd == fd) { [ 198s] ^ [ 198s] block-log.c: In function 'ctl_request': [ 198s] block-log.c:549:23: error: array subscript is above array bounds [-Werror=array-bounds] [ 198s] if (s->connections[i].id == id) [ 198s] ^ [ 198s] cc1: all warnings being treated as errors [ 198s] /home/abuild/rpmbuild/BUILD/xen-4.6.31382/non-dbg/tools/blktap2/drivers/../../../tools/Rules.mk:107: recipe for target 'block-log.o' failed [ 198s] make[5]: *** [block-log.o] Error 1 Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/blktap2/drivers/block-log.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/blktap2/drivers/block-log.c b/tools/blktap2/drivers/block-log.c index 5330cdc..1934227 100644 --- a/tools/blktap2/drivers/block-log.c +++ b/tools/blktap2/drivers/block-log.c @@ -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 < MAX_CONNECTIONS; i++) { if (s->connections[i].fd == fd) { tapdisk_server_unregister_event(s->connections[i].id); close(s->connections[i].fd); @@ -545,7 +545,7 @@ static inline int ctl_find_connection(struct tdlog_state *s, event_id_t id) { int i; - for (i = 0; i < s->connected; i++) + for (i = 0; i < s->connected && i < MAX_CONNECTIONS; i++) if (s->connections[i].id == id) return s->connections[i].fd; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |