Fixed a memory leak in lt_dlopen().
diff --git a/ChangeLog b/ChangeLog
index ab14f63..87ef8c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-04-16  Alan Curry <pacman@world.std.com>
+
+	* libltdl/ltdl.c (lt_dlopen): Fixed a memory leak.
+
 2001-03-06  Alexandre Oliva  <aoliva@redhat.com>
 
 	* ltconfig.in (can_build_shared) [AIX 4.[01], GCC]: GCC up to
diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c
index aec3849..1fbe962 100644
--- a/libltdl/ltdl.c
+++ b/libltdl/ltdl.c
@@ -1365,6 +1365,7 @@
 			free_vars(name, dir, dlname, old_name, libdir, deplibs);
 			return 0;
 		}
+		free_vars(NULL, NULL, dlname, old_name, libdir, deplibs);
 		if (handle != newhandle) {
 			unload_deplibs(handle);
 		}