diff options
-rw-r--r-- | src/H5FD.c | 3 | ||||
-rw-r--r-- | src/H5P.c | 1 |
2 files changed, 3 insertions, 1 deletions
@@ -199,7 +199,8 @@ H5FDregister(const H5FD_class_t *cls) /* Create the new class ID */ if ((retval=H5I_register(H5I_VFL, saved))<0) { - HRETURN_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, + H5MM_xfree(saved); + HRETURN_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to register file driver ID"); } @@ -1326,6 +1326,7 @@ H5Pset_driver(hid_t plist_id, hid_t driver_id, const void *driver_info) /* Remove old driver */ assert(fapl->driver_id>=0); H5FD_fapl_free(fapl->driver_id, fapl->driver_info); + H5I_dec_ref(fapl->driver_id); /* Add new driver */ H5I_inc_ref(driver_id); |