Commit a131fb8
committed
xrCore: rt_compressor.cpp: Use appropriate integer type
* rtc_compress, rtc_decompress: Both of these functions pass a pointer
to an out_size variable which lzo1x_1_compress and lzo1x_1_decompress
dereference to store the value for the caller to use. The problem is
that with a u32 type it's passing a pointer to a 4-byte integer but
cast as an 8-byte integer hence the dereference and store is unsafe.
*out_len = 0;
00000001405064F6 mov rax,qword ptr [out_len]
00000001405064FE mov qword ptr [rsp+58h],rax
0000000140506503 mov rcx,qword ptr [rsp+58h]
0000000140506508 call __asan_store8 (014355B111h)
000000014050650D mov rax,qword ptr [out_len]
0000000140506515 mov qword ptr [rax],0 <----- *qword*
Found with address sanitizer.1 parent 852d7e0 commit a131fb8
1 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
0 commit comments