Can be reproduced with: load_twice libmircommon.so.1 (or .2)
load_twice.c:
#include <stdio.h> #include <dlfcn.h>
int main(int argc, char** argv) { void *dl; int i;
for (i = 0; i < 2; i++) { dl = dlopen (argv[1], RTLD_LAZY); printf ("%d open dl: %p\n", i, dl); if (dl) dlclose (dl); } }
Can be reproduced with: load_twice libmircommon.so.1 (or .2)
load_twice.c:
#include <stdio.h>
#include <dlfcn.h>
int main(int argc, char** argv)
{
void *dl;
int i;
for (i = 0; i < 2; i++)
{
dl = dlopen (argv[1], RTLD_LAZY);
printf ("%d open dl: %p\n", i, dl);
if (dl)
dlclose (dl);
}
}