CFNetworkSetATSContext set timer crash

Crash line in dispatch_source_set_timer:

(+24)  ldr    x24, [x0, #0x58]

crash register is

x0(0x0000000000000058)

So, It looks like CFNetworkSetATSContext build a null dispatch_source_t to call dispatch_source_set_timer(dispatch_source_t source, ...) In some cases.

crash report:

Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x0000000000000058
Crashed Thread: 42
...
Thread 42 crashed with ARM 64 Thread State:
     x0:  000000000000000000    x1: 0x00000030b2d7293c    x2: 0xffffffffffffffff     x3: 0x000000003b9aca00
     x4:  0x0000000280e22200    x5: 000000000000000000    x6: 0x0000000000000073     x7: 0x0000000000000007
     x8:  0x000000003b9aca00    x9: 0x80000030b2d7293c   x10: 0x0000000019bfcc00    x11: 0x00000000112a8800
    x12: 0x00000000000007fd    x13: 000000000000000000   x14: 0x0000000026401000    x15: 0x0000000000000002
    x16: 0x00000001a6f1a0f8    x17: 0x0000000026400000   x18: 000000000000000000    x19: 000000000000000000
    x20: 000000000000000000    x21: 0x0000000283b9d260   x22: 0x0000000430e23400    x23: 000000000000000000
    x24: 000000000000000000    x25: 0x000000028172f500   x26: 0x0000000282271a00    x27: 0x000000010cf2c038
    x28: 000000000000000000    fp: 0x000000016ffe2660    lr: 0x00000001aa646cb8    
    sp: 0x000000016ffe2620     pc: 0x00000001a6f1a114    cpsr: 0x20000000
...
Thread 42 Crashed: 
0  libdispatch.dylib              0x00000001a6f1a110 _dispatch_source_set_timer$VARIANT$mp +  24
1  CFNetwork                      0x00000001aa646cb0 __CFNetworkSetATSContext +  86408
2  CFNetwork                      0x00000001aa647140 __CFNetworkSetATSContext +  87576
3  CFNetwork                      0x00000001aa644370 __CFNetworkSetATSContext +  75848
4  CFNetwork                      0x00000001aa6f0810 __CFURLStorageSessionCopyCache +  60104
5  libdispatch.dylib              0x00000001a6f619a0 __dispatch_call_block_and_release +  16
6  libdispatch.dylib              0x00000001a6f62520 __dispatch_client_callout +  12
7  libdispatch.dylib              0x00000001a6f0e8a0 __dispatch_lane_serial_drain$VARIANT$mp +  604
8  libdispatch.dylib              0x00000001a6f0f2c0 __dispatch_lane_invoke$VARIANT$mp +  460
9  libdispatch.dylib              0x00000001a6f10370 __dispatch_workloop_invoke$VARIANT$mp +  1612
10 libdispatch.dylib              0x00000001a6f18780 __dispatch_workloop_worker_thread +  576
11 libsystem_pthread.dylib        0x00000001a6fb3b70 _pthread_wqthread + 268
8  libsystem_pthread.dylib        0x00000001a6fb6740 start_wqthread + 8
CFNetworkSetATSContext set timer crash
 
 
Q