[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] blktap2: update connection handling to fix build with gcc5



On Tue, 2015-07-21 at 02:48 -0600, Jan Beulich wrote:
> >>> On 21.07.15 at 10:42, <olaf@xxxxxxxxx> wrote:
> > --- 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;
> >  
> 
> Which now makes the reader (wrongly) imply that s->connected
> might be equal to or larger than MAX_CONNECTIONS.

I was just thinking that perhaps either an assert() or an:
        if ( s->connected >= MAX_CONNECTIONS ) {
                log
                return error
        }
might be more appropriate.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.