[BACK]Return to mld6.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / netinet6

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/netinet6/mld6.c between version 1.50 and 1.51

version 1.50, 2009/04/18 14:58:05 version 1.51, 2009/08/04 22:04:23
Line 637  in6_addmulti(struct in6_addr *maddr6, st
Line 637  in6_addmulti(struct in6_addr *maddr6, st
                  * and link it into the interface's multicast list.                   * and link it into the interface's multicast list.
                  */                   */
                 in6m = (struct in6_multi *)                  in6m = (struct in6_multi *)
                         malloc(sizeof(*in6m), M_IPMADDR, M_NOWAIT);                          malloc(sizeof(*in6m), M_IPMADDR, M_NOWAIT|M_ZERO);
                 if (in6m == NULL) {                  if (in6m == NULL) {
                         splx(s);                          splx(s);
                         *errorp = ENOBUFS;                          *errorp = ENOBUFS;
                         return (NULL);                          return (NULL);
                 }                  }
   
                 memset(in6m, 0, sizeof(*in6m));  
                 in6m->in6m_addr = *maddr6;                  in6m->in6m_addr = *maddr6;
                 in6m->in6m_ifp = ifp;                  in6m->in6m_ifp = ifp;
                 in6m->in6m_refcount = 1;                  in6m->in6m_refcount = 1;
Line 754  in6_joingroup(struct ifnet *ifp, struct 
Line 753  in6_joingroup(struct ifnet *ifp, struct 
 {  {
         struct in6_multi_mship *imm;          struct in6_multi_mship *imm;
   
         imm = malloc(sizeof(*imm), M_IPMADDR, M_NOWAIT);          imm = malloc(sizeof(*imm), M_IPMADDR, M_NOWAIT|M_ZERO);
         if (!imm) {          if (imm == NULL) {
                 *errorp = ENOBUFS;                  *errorp = ENOBUFS;
                 return NULL;                  return NULL;
         }          }
   
         memset(imm, 0, sizeof(*imm));  
         imm->i6mm_maddr = in6_addmulti(addr, ifp, errorp, timer);          imm->i6mm_maddr = in6_addmulti(addr, ifp, errorp, timer);
         if (!imm->i6mm_maddr) {          if (!imm->i6mm_maddr) {
                 /* *errorp is already set */                  /* *errorp is already set */
Line 870  in6_createmkludge(struct ifnet *ifp)
Line 868  in6_createmkludge(struct ifnet *ifp)
                         return;                          return;
         }          }
   
         mk = malloc(sizeof(*mk), M_IPMADDR, M_WAITOK);          mk = malloc(sizeof(*mk), M_IPMADDR, M_ZERO|M_WAITOK);
   
         memset(mk, 0, sizeof(*mk));  
         LIST_INIT(&mk->mk_head);          LIST_INIT(&mk->mk_head);
         mk->mk_ifp = ifp;          mk->mk_ifp = ifp;
         LIST_INSERT_HEAD(&in6_mk, mk, mk_entry);          LIST_INSERT_HEAD(&in6_mk, mk, mk_entry);

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

CVSweb <webmaster@jp.NetBSD.org>