fix uninitialized map_len being used in munmap failure paths in load_library
[musl] / src / ldso / arm / start.s
index 359711e..dfa3657 100644 (file)
@@ -3,12 +3,16 @@
 _start:
        ldr r0,[sp]
        add r1,sp,#4
-       ldr r2,2f
-       add r2,pc,r2
-1:     bl __dynlink
+       bl __dynlink
+       pop {r1}
+1:     sub r1,r1,#1
+       pop {r2}
+       cmp r2,#-1
+       beq 1b
+       add r1,r1,#1
+       push {r1,r2}
        mov r1,r0
        mov r0,#0
        tst r1,#1
        moveq pc,r1
        bx r1
-2:     .word _GLOBAL_OFFSET_TABLE_ - 1b - 4