rtld: Fix rtld_functrace
authorJohn Marino <draco@marino.st>
Fri, 6 Apr 2012 08:08:47 +0000 (10:08 +0200)
committerJohn Marino <draco@marino.st>
Fri, 6 Apr 2012 09:56:04 +0000 (11:56 +0200)
The replacement for the do_reloc functionality wasn't properly implemented
in commit 35b2b265aa300727e840990e41e604edb8b25314

Reported-by: swildner
libexec/rtld-elf/rtld.c

index f6952eb..17528fc 100644 (file)
@@ -798,9 +798,10 @@ _rtld_bind(Obj_Entry *obj, Elf_Size reloff, void *stack)
        if (rtld_functrace(obj->path,
                           defobj->path,
                           defobj->strtab + def->st_name,
-                          stack))
-       lock_release(rtld_bind_lock, &lockstate);
-       return target;
+                          stack)) {
+           lock_release(rtld_bind_lock, &lockstate);
+           return target;
+       }
     }
 
     /*