|
- <__egl_platform_swap_buffers+40> ldr r3, [pc, #36] <__egl_platform_swap_buffers+42> movs r2, #0
- <__egl_platform_swap_buffers+44> add r4, sp, #24 ; There was #28
- <__egl_platform_swap_buffers+46> add r3, pc
- <__egl_platform_swap_buffers+48> ldr r0, [r3, #4]
- <__egl_platform_swap_buffers+50> movs r3, #0
- <__egl_platform_swap_buffers+52> str r4, [sp, #16]
- <__egl_platform_swap_buffers+54> strd r2, r3, [sp]
- <__egl_platform_swap_buffers+58> strd r2, r3, [sp, #8]
- <__egl_platform_swap_buffers+62> ldr r0, [r0, #4]
- <__egl_platform_swap_buffers+64> bl 0xb6f5cf64 <DRI2SwapBuffers>
Copy code See comment in line <+44>
I think it's a bug in call to DRI2SwapBuffers. I'm not sure, but it seems that last parameter is something like some_struct *s and someone passed wrong pointer, so stack gets corrupted when DRI2SwapBuffers tries to write something to &s
|
|