LT_DLMEM_REASSIGN (loader, next);
}
loaders = 0;
+
+ LT_DLFREE (user_search_path);
}
done:
char * dir = 0;
char * name = 0;
int errors = 0;
+ int free_base_name = 0;
lt_dlhandle newhandle;
assert (phandle);
++base_name;
}
- else
+ else {
LT_DLMEM_REASSIGN (base_name, canonical);
+ free_base_name = 1;
+ }
assert (base_name && *base_name);
LT_DLFREE (dir);
LT_DLFREE (name);
LT_DLFREE (canonical);
+ if (free_base_name) LT_DLFREE (base_name);
return errors;
}