On Tue, 2015-07-21 at 02:48 -0600, Jan Beulich wrote:
> >>> On 21.07.15 at 10:42, <o...@aepfle.de> 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@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to