SIGSEGV Crash on SDL2.0.12 at SDL_InvalidateMap

Hi All,

I am getting following crash in libsdl2.0.12 at SDL_InvalidateMap.This crash is seen when we do surface free using SDL_FreeSurface() api.

But the same crash is not seen with libsdl2.0.4.Because SDL_InvalidateMap is not there inside SDL_FreeSurface defination.

Can you please help me why they have introduced SDL_InvalidateMap in 2.0.12 and what it does . If possible please help us in crash fix.

Thanks in advance

Operating system: Linux
0.0.0 Linux 4.19.208 #1 SMP PREEMPT Wed Jul 20 13:45:10 UTC 2022 aarch64
CPU: arm
ARMv1 vendor(0x42) part(0x42001000)
4 CPUsGPU: UNKNOWNCrash reason: SIGSEGV /0x00000000
Crash address: 0x785f6e61
Process uptime: not availableThread 4 (crashed)
0 libSDL2-2.0.so.0.12.0!SDL_InvalidateMap [SDL_pixels.c : 987 + 0x0]
r0 = 0x785f6e61 r1 = 0x0000003f r2 = 0x00000001 r3 = 0xf3a1f6a0
r4 = 0x785f6e61 r5 = 0x0001f7a4 r6 = 0xf3a5d720 r7 = 0x0000000b
r8 = 0x0000000b r9 = 0x0001952c r10 = 0x0000000a r12 = 0x0001f614
fp = 0x00000007 sp = 0xf755aba0 lr = 0xf7d0b917 pc = 0xf7d09c4c
Found by: given as instruction pointer in context
1 libSDL2-2.0.so.0.12.0!SDL_FreeSurface_REAL [SDL_surface.c : 1331 + 0x3]
r3 = 0xf3a1f6a0 r4 = 0xf755abd0 r5 = 0x0001f7a4 r6 = 0xf3a5d720
r7 = 0x0000000b r8 = 0x0000000b r9 = 0x0001952c r10 = 0x0000000a
fp = 0x00000007 sp = 0xf755abb0 pc = 0xf7d0b917
Found by: call frame info
2 stateinfomanager!promptScreenAnimationWithText [sdl_wrapper_sbrm.h : 21 + 0x3]
r4 = 0x00000000 r5 = 0x0001f7a4 r6 = 0xf3a5d720 r7 = 0x0000000b
r8 = 0x0000000b r9 = 0x0001952c r10 = 0x0000000a fp = 0x00000007
sp = 0xf755abb8 pc = 0x00012c27
Found by: call frame info
3 libSDL2-2.0.so.0.12.0!SDL_RunThread [SDL_thread.c : 94 + 0x1]
r4 = 0x016078a0 r5 = 0x016040b0 r6 = 0x00012be1 r7 = 0x01606420
r8 = 0xffbd50f4 r9 = 0xf755c010 r10 = 0xf755c010 fp = 0x00000007
sp = 0xf755ad98 pc = 0xf7ce929f
Found by: call frame info
4 libSDL2-2.0.so.0.12.0!SDL_SYS_CreateThread [SDL_systhread.c : 97 + 0x1]
r3 = 0xf7d1fe81 r4 = 0xf755b408 r5 = 0xf755b3a0 r6 = 0xffbd50f4
r7 = 0xf755adb8 r8 = 0xffbd50f4 r9 = 0xf755c010 r10 = 0xf755c010
fp = 0x00000007 sp = 0xf755adb0 pc = 0xf7d1fe87
Found by: call frame infoThread 0
0 libc-2.31.so + 0x1ac54