Diff for /embedaddon/dnsmasq/src/poll.c between versions 1.1 and 1.1.1.3

version 1.1, 2016/11/02 09:57:01 version 1.1.1.3, 2023/09/27 11:02:07
Line 1 Line 1
/* dnsmasq is Copyright (c) 2000-2016 Simon Kelley/* dnsmasq is Copyright (c) 2000-2022 Simon Kelley
   
    This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
Line 96  void poll_listen(int fd, short event) Line 96  void poll_listen(int fd, short event)
      pollfds[i].events |= event;       pollfds[i].events |= event;
    else     else
      {       {
       if (arrsize != nfds)       if (arrsize == nfds)
         memmove(&pollfds[i+1], &pollfds[i], (nfds - i) * sizeof(struct pollfd)); 
       else 
          {           {
            /* Array too small, extend. */             /* Array too small, extend. */
            struct pollfd *new;             struct pollfd *new;
   
            arrsize = (arrsize == 0) ? 64 : arrsize * 2;             arrsize = (arrsize == 0) ? 64 : arrsize * 2;
   
           if (!(new = whine_malloc(arrsize * sizeof(struct pollfd))))           if (!(new = whine_realloc(pollfds, arrsize * sizeof(struct pollfd))))
              return;               return;
   
            if (pollfds)  
              {  
                memcpy(new, pollfds, i * sizeof(struct pollfd));  
                memcpy(&new[i+1], &pollfds[i], (nfds - i) * sizeof(struct pollfd));  
                free(pollfds);  
              }  
              
            pollfds = new;             pollfds = new;
          }           }
       
        memmove(&pollfds[i+1], &pollfds[i], (nfds - i) * sizeof(struct pollfd));
 
        pollfds[i].fd = fd;         pollfds[i].fd = fd;
        pollfds[i].events = event;         pollfds[i].events = event;
        nfds++;         nfds++;

Removed from v.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>