nx-libs
nx-libs copied to clipboard
heap-buffer-overflow in Arc functions
This happened during a full xts test (see also #997). However, as this ran overnight I don't know (yet) which test lead to this:
==7128==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000090c80 at pc 0x556fec23ac97 bp 0x7ffc3c8fdb00 sp 0x7ffc3c8fdaf8
READ of size 4 at 0x604000090c80 thread T0
#0 0x556fec23ac96 in miComputeArcs /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/mi/miarc.c:2250
#1 0x556fec231a15 in miPolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/mi/miarc.c:1204
#2 0x556feb713385 in fbPolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/fb/fbarc.c:118
#3 0x556feb669574 in nxagentPolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/hw/nxagent/GCOps.c:1398
#4 0x556feb7b1951 in damagePolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/miext/damage/damage.c:1146
#5 0x556feb518256 in ProcPolyArc ../../dix/dispatch.c:1891
#6 0x556feb52b7d2 in Dispatch /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c:486
#7 0x556feb5b2fd8 in main /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/dix/main.c:350
#8 0x7fdae363409a in __libc_start_main ../csu/libc-start.c:308
#9 0x556feb4b32e9 in _start (/home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/nxagent+0xd02e9)
0x604000090c80 is located 0 bytes to the right of 48-byte region [0x604000090c50,0x604000090c80)
allocated by thread T0 here:
#0 0x7fdae503b330 in __interceptor_malloc (/lib/x86_64-linux-gnu/libasan.so.5+0xe9330)
#1 0x556fec23746c in miComputeArcs /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/mi/miarc.c:1934
#2 0x556fec231a15 in miPolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/mi/miarc.c:1204
#3 0x556feb713385 in fbPolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/fb/fbarc.c:118
#4 0x556feb669574 in nxagentPolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/hw/nxagent/GCOps.c:1398
#5 0x556feb7b1951 in damagePolyArc /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/miext/damage/damage.c:1146
#6 0x556feb518256 in ProcPolyArc ../../dix/dispatch.c:1891
#7 0x556feb52b7d2 in Dispatch /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c:486
#8 0x556feb5b2fd8 in main /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/dix/main.c:350
#9 0x7fdae363409a in __libc_start_main ../csu/libc-start.c:308
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/uli/work/nx/ArcticaProject/nx-libs/pr/windowfixes/nx-X11/programs/Xserver/mi/miarc.c:2250 in miComputeArcs
Shadow bytes around the buggy address:
0x0c088000a140: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000a150: fa fa fd fd fd fd fd fd fa fa fa fa fa fa fa fa
0x0c088000a160: fa fa 00 00 00 00 00 fa fa fa fa fa fa fa fa fa
0x0c088000a170: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
0x0c088000a180: fa fa fa fa fa fa fa fa fa fa 00 00 00 00 00 00
=>0x0c088000a190:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000a1a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000a1b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000a1c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c088000a1d0: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
0x0c088000a1e0: fa fa fd fd fd fd fd fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb