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

@@ -1156,15 +1156,12 @@
                                 (void) nvlist_add_string(flt_copy,
                                     FM_FAULT_LOCATION, loc);
                         if (loc)
                                 topo_hdl_strfree(thp, loc);
                 }
-                if (fru)
                         nvlist_free(fru);
-                if (asru)
                         nvlist_free(asru);
-                if (rsrc)
                         nvlist_free(rsrc);
                 fmd_fmri_topo_rele(thp);
                 fmd_case_insert_suspect(cp, flt_copy);
         }
 

@@ -1325,11 +1322,10 @@
          */
         if (got_present_rsrc == 0 &&
             (xip->xi_flags & FMD_XPRT_HC_PRESENT_ONLY)) {
                 if (nelem > 0) {
                         for (i = 0; i < nelem; i++)
-                                if (asrua[i])
                                         nvlist_free(asrua[i]);
                         fmd_free(proxy_asru, sizeof (uint8_t) * nelem);
                         fmd_free(diag_asru, sizeof (uint8_t) * nelem);
                         fmd_free(asrua, sizeof (nvlist_t *) * nelem);
                 }

@@ -1342,11 +1338,10 @@
         fmd_module_lock(xip->xi_queue->eq_mod);
         if ((cp = fmd_case_recreate(xip->xi_queue->eq_mod, xp,
             FMD_CASE_UNSOLVED, uuid, code)) == NULL) {
                 if (nelem > 0) {
                         for (i = 0; i < nelem; i++)
-                                if (asrua[i])
                                         nvlist_free(asrua[i]);
                         fmd_free(proxy_asru, sizeof (uint8_t) * nelem);
                         fmd_free(diag_asru, sizeof (uint8_t) * nelem);
                         fmd_free(asrua, sizeof (nvlist_t *) * nelem);
                 }