fdlopen(3): do not create a new object mapping if already loaded

This is expected behavior for both dlopen(3) and fdlopen(3).

PR:	277169
Reviewed by:	emaste
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D44019
This commit is contained in:
Konstantin Belousov 2024-02-22 03:18:06 +02:00
parent 9097284b98
commit 452c5e9995

View file

@ -2752,8 +2752,9 @@ load_object(const char *name, int fd_u, const Obj_Entry *refobj, int flags)
if (obj->ino == sb.st_ino && obj->dev == sb.st_dev)
break;
}
if (obj != NULL && name != NULL) {
object_add_name(obj, name);
if (obj != NULL) {
if (name != NULL)
object_add_name(obj, name);
free(path);
close(fd);
return (obj);