Print this page
6659 nvlist_free(NULL) is a no-op

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libsysevent/libsysevent.c
          +++ new/usr/src/lib/libsysevent/libsysevent.c
↓ open down ↓ 210 lines elided ↑ open up ↑
 211  211  }
 212  212  
 213  213  /*
 214  214   * sysevent_free - Free memory allocated for an event buffer
 215  215   */
 216  216  void
 217  217  sysevent_free(sysevent_t *ev)
 218  218  {
 219  219          nvlist_t *attr_list = (nvlist_t *)(uintptr_t)SE_ATTR_PTR(ev);
 220  220  
 221      -        if (attr_list)
 222      -                nvlist_free(attr_list);
      221 +        nvlist_free(attr_list);
 223  222          free(ev);
 224  223  }
 225  224  
 226  225  /*
 227  226   * The following routines are used to extract attribute data from a sysevent
 228  227   * handle.
 229  228   */
 230  229  
 231  230  /*
 232  231   * sysevent_get_attr_list - allocate and return an attribute associated with
↓ open down ↓ 1222 lines elided ↑ open up ↑
1455 1454                                  }
1456 1455                          }
1457 1456                  }
1458 1457                  nvlist_free(nvl);
1459 1458          }
1460 1459          return (0);
1461 1460  
1462 1461  create_failed:
1463 1462          dealloc_subscribers(shp);
1464 1463          free_cached_registration(shp);
1465      -        if (nvl)
1466      -                nvlist_free(nvl);
     1464 +        nvlist_free(nvl);
1467 1465          return (-1);
1468 1466  
1469 1467  }
1470 1468  
1471 1469  /*
1472 1470   * cache_update_service - generic event publisher service routine.  This routine
1473 1471   *              is called in response to a registration cache update.
1474 1472   *
1475 1473   */
1476 1474  /*ARGSUSED*/
↓ open down ↓ 1192 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX