[*] Binary protection state of libgstsdp-1.0.so.0.1803.0

  
  	Full RELRO     No Canary found   NX enabled   DSO          RPATH        No RUNPATH   No Symbols


[*] Function strcpy tear down of libgstsdp-1.0.so.0.1803.0

    ; assembly                                                               | /* r2dec pseudo code output */
                                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libgstsdp-1.0.so.0.1803.0 @ 0x5b54 */
                                                                             | #include <stdint.h>
                                                                             |  
    ; (fcn) sym.gst_sdp_media_init ()                                        | void gst_sdp_media_init (uint32_t arg1) {
                                                                             |     r0 = arg1;
    0x00005b54 stmdahs r0, {r3, r4, r5, r6, r7, r8, sl, ip, sp, pc}          |     __asm ("stmdahs r0, {r3, r4, r5, r6, r7, r8, sl, ip, sp, pc}");
                                                                             |     if (? == ?) {
    0x00005b58 beq 0x5c2e                                                    |         goto label_3;
                                                                             |     }
    0x00005b5a mov r4, r0                                                    |     r4 = r0;
    0x00005b5c movs r5, 0                                                    |     r5 = 0;
    0x00005b5e ldr r0, [r0]                                                  |     r0 = *(r0);
    0x00005b60 blx 0x3b68                                                    |     g_free ();
    0x00005b62 invalid                                                       |     
    0x00005b66 strd r5, r5, [r4]                                             |     __asm ("strd r5, r5, [r4]");
    0x00005b6a str r5, [r4, 8]                                               |     *((r4 + 8)) = r5;
    0x00005b6c blx 0x3b68                                                    |     g_free ();
    0x00005b70 ldr r0, [r4, 0x10]                                            |     r0 = *((r4 + 0x10));
    0x00005b72 str r5, [r4, 0xc]                                             |     *((r4 + 0xc)) = r5;
    0x00005b74 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x00005b76 beq 0x5c56                                                    |         goto label_4;
                                                                             |     }
    0x00005b78 ldr r3, [r0, 4]                                               |     r3 = *((r0 + 4));
    0x00005b7a mov r7, r5                                                    |     r7 = r5;
                                                                             |     if (r3 == 0) {
    0x00005b7c cbz r3, 0x5b96                                                |         goto label_5;
                                                                             |     }
                                                                             |     do {
    0x00005b7e ldr r6, [r0]                                                  |         r6 = *(r0);
    0x00005b80 ldr.w r0, [r6, r5, lsl 2]                                     |         offset_0 = r5 << 2;
                                                                             |         r0 = *((r6 + offset_0));
    0x00005b84 blx 0x3b68                                                    |         g_free ();
    0x00005b88 str.w r7, [r6, r5, lsl 2]                                     |         __asm ("str.w r7, [r6, r5, lsl 2]");
    0x00005b8c adds r5, 1                                                    |         r5++;
    0x00005b8e ldr r0, [r4, 0x10]                                            |         r0 = *((r4 + 0x10));
    0x00005b90 ldr r3, [r0, 4]                                               |         r3 = *((r0 + 4));
    0x00005b92 cmp r3, r5                                                    |         
    0x00005b94 bhi 0x5b7e                                                    |         
                                                                             |     } while (r3 > r5);
                                                                             | label_5:
    0x00005b96 movs r1, 0                                                    |     r1 = 0;
    0x00005b98 blx 0x3ddc                                                    |     fcn_00003ddc ();
                                                                             | label_0:
    0x00005b9c ldr r0, [r4, 0x14]                                            |     r0 = *((r4 + 0x14));
    0x00005b9e movs r5, 0                                                    |     r5 = 0;
    0x00005ba0 blx 0x3b68                                                    |     g_free ();
    0x00005ba4 ldr r0, [r4, 0x18]                                            |     r0 = *((r4 + 0x18));
    0x00005ba6 str r5, [r4, 0x14]                                            |     *((r4 + 0x14)) = r5;
    0x00005ba8 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x00005baa beq 0x5c62                                                    |         goto label_6;
                                                                             |     }
    0x00005bac ldr r3, [r0, 4]                                               |     r3 = *((r0 + 4));
                                                                             |     if (r3 == 0) {
    0x00005bae cbz r3, 0x5bc8                                                |         goto label_7;
                                                                             |     }
                                                                             |     do {
    0x00005bb0 ldr r3, [r0]                                                  |         r3 = *(r0);
    0x00005bb2 add.w r0, r5, r5, lsl 2                                       |         r0 = r5 + (r5 << 2);
    0x00005bb6 adds r5, 1                                                    |         r5++;
    0x00005bb8 add.w r0, r3, r0, lsl 2                                       |         r0 = r3 + (r0 << 2);
    0x00005bba lsls r0, r0, 2                                                |         r0 <<= 2;
    0x00005bbc bl 0x5b0c                                                     |         gst_sdp_connection_clear ();
    0x00005bc0 ldr r0, [r4, 0x18]                                            |         r0 = *((r4 + 0x18));
    0x00005bc2 ldr r3, [r0, 4]                                               |         r3 = *((r0 + 4));
    0x00005bc4 cmp r3, r5                                                    |         
    0x00005bc6 bhi 0x5bb0                                                    |         
                                                                             |     } while (r3 > r5);
                                                                             | label_7:
    0x00005bc8 movs r1, 0                                                    |     r1 = 0;
    0x00005bca blx 0x3ddc                                                    |     fcn_00003ddc ();
    0x00005bce ldr r0, [r4, 0x1c]                                            |     r0 = *((r4 + 0x1c));
    0x00005bd0 cmp r0, 0                                                     |     
                                                                             |     if (r0 == 0) {
    0x00005bd2 beq 0x5c72                                                    |         goto label_8;
                                                                             |     }
                                                                             | label_1:
    0x00005bd4 ldr r3, [r0, 4]                                               |     r3 = *((r0 + 4));
                                                                             |     if (r3 == 0) {
    0x00005bd6 cbz r3, 0x5bee                                                |         goto label_9;
                                                                             |     }
    0x00005bd8 movs r5, 0                                                    |     r5 = 0;
                                                                             |     do {
    0x00005bda ldr r0, [r0]                                                  |         r0 = *(r0);
    0x00005bdc add.w r0, r0, r5, lsl 3                                       |         r0 += (r5 << 3);
    0x00005be0 adds r5, 1                                                    |         r5++;
    0x00005be2 bl 0x4c64                                                     |         gst_sdp_bandwidth_clear ();
    0x00005be6 ldr r0, [r4, 0x1c]                                            |         r0 = *((r4 + 0x1c));
    0x00005be8 ldr r3, [r0, 4]                                               |         r3 = *((r0 + 4));
    0x00005bea cmp r3, r5                                                    |         
    0x00005bec bhi 0x5bda                                                    |         
                                                                             |     } while (r3 > r5);
                                                                             | label_9:
    0x00005bee movs r1, 0                                                    |     r1 = 0;
    0x00005bf0 blx 0x3ddc                                                    |     fcn_00003ddc ();
                                                                             | label_2:
    0x00005bf4 ldr r0, [r4, 0x20]                                            |     r0 = *((r4 + 0x20));
    0x00005bf6 movs r5, 0                                                    |     r5 = 0;
    0x00005bf8 blx 0x3b68                                                    |     g_free ();
    0x00005bfc ldr r0, [r4, 0x24]                                            |     r0 = *((r4 + 0x24));
    0x00005bfe str r5, [r4, 0x20]                                            |     *((r4 + 0x20)) = r5;
    0x00005c00 blx 0x3b68                                                    |     g_free ();
    0x00005c04 ldr r6, [r4, 0x28]                                            |     r6 = *((r4 + 0x28));
    0x00005c06 str r5, [r4, 0x24]                                            |     *((r4 + 0x24)) = r5;
                                                                             |     if (r6 == 0) {
    0x00005c08 cbz r6, 0x5c44                                                |         goto label_10;
                                                                             |     }
    0x00005c0a ldr r3, [r6, 4]                                               |     r3 = *((r6 + 4));
                                                                             |     if (r3 == 0) {
    0x00005c0c cbz r3, 0x5c22                                                |         goto label_11;
                                                                             |     }
                                                                             |     do {
    0x00005c0e ldr r0, [r6]                                                  |         r0 = *(r6);
    0x00005c10 add.w r0, r0, r5, lsl 3                                       |         r0 += (r5 << 3);
    0x00005c14 adds r5, 1                                                    |         r5++;
    0x00005c16 bl 0x534c                                                     |         gst_sdp_attribute_clear ();
    0x00005c18 invalid                                                       |         
    0x00005c1c ldr r3, [r6, 4]                                               |         r3 = *((r6 + 4));
    0x00005c1e cmp r3, r5                                                    |         
    0x00005c20 bhi 0x5c0e                                                    |         
                                                                             |     } while (r3 > r5);
                                                                             | label_11:
    0x00005c22 movs r1, 0                                                    |     r1 = 0;
    0x00005c24 mov r0, r6                                                    |     r0 = r6;
    0x00005c26 blx 0x3ddc                                                    |     fcn_00003ddc ();
    0x00005c2a movs r0, 0                                                    |     r0 = 0;
    0x00005c2c pop {r3, r4, r5, r6, r7, pc}                                  |     
                                                                             | label_3:
    0x00005c2e ldr r1, [pc, 0x50]                                            |     
    0x00005c30 ldr r2, [pc, 0x50]                                            |     
    0x00005c32 add r1, pc                                                    |     r1 = 0xb8b8;
    0x00005c34 add r2, pc                                                    |     r2 = "  nettype:      '%s'\n";
    0x00005c36 addw r1, r1, 0x92c                                            |     __asm ("addw r1, r1, aav.0x000000ff");
    0x00005c3a blx 0x3db8                                                    |     fcn_00003db8 ();
    0x00005c3e mov.w r0, -1                                                  |     r0 = -1;
    0x00005c42 pop {r3, r4, r5, r6, r7, pc}                                  |     
                                                                             | label_10:
    0x00005c44 movs r2, 8                                                    |     r2 = 8;
    0x00005c46 movs r1, 1                                                    |     r1 = 1;
    0x00005c48 mov r0, r6                                                    |     r0 = r6;
    0x00005c4a blx 0x3c7c                                                    |     r0 = g_array_new ();
    0x00005c4e mov r3, r0                                                    |     r3 = r0;
    0x00005c50 mov r0, r6                                                    |     r0 = r6;
    0x00005c52 str r3, [r4, 0x28]                                            |     *((r4 + 0x28)) = r3;
    0x00005c54 pop {r3, r4, r5, r6, r7, pc}                                  |     
                                                                             | label_4:
    0x00005c56 movs r2, 4                                                    |     r2 = 4;
    0x00005c58 movs r1, 1                                                    |     r1 = 1;
    0x00005c5a blx 0x3c7c                                                    |     g_array_new ();
    0x00005c5e str r0, [r4, 0x10]                                            |     *((r4 + 0x10)) = r0;
    0x00005c60 b 0x5b9c                                                      |     goto label_0;
                                                                             | label_6:
    0x00005c62 movs r2, 0x14                                                 |     r2 = 0x14;
    0x00005c64 movs r1, 1                                                    |     r1 = 1;
    0x00005c66 blx 0x3c7c                                                    |     g_array_new ();
    0x00005c6a str r0, [r4, 0x18]                                            |     *((r4 + 0x18)) = r0;
    0x00005c6c ldr r0, [r4, 0x1c]                                            |     r0 = *((r4 + 0x1c));
    0x00005c6e cmp r0, 0                                                     |     
                                                                             |     if (r0 != 0) {
    0x00005c70 bne 0x5bd4                                                    |         goto label_1;
                                                                             |     }
                                                                             | label_8:
    0x00005c72 movs r2, 8                                                    |     r2 = 8;
    0x00005c74 movs r1, 1                                                    |     r1 = 1;
    0x00005c76 blx 0x3c7c                                                    |     g_array_new ();
    0x00005c7a str r0, [r4, 0x1c]                                            |     *((r4 + 0x1c)) = r0;
    0x00005c7c b 0x5bf4                                                      |     goto label_2;
                                                                             | }

[*] Function strcpy used 1 times libgstsdp-1.0.so.0.1803.0