关于未定义行为
查看原帖
关于未定义行为
104662
PrincessQi楼主2022/2/17 17:16

RT,本人萌新,完全看不懂 CF 的报错提示:

Diagnostics detected issues [cpp.clang++-diagnose]: =================================================================
==4912==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x14f00448 at pc 0x00ceecc2 bp 0x137ae134 sp 0x137ae130
READ of size 8 at 0x14f00448 thread T0
    #0 0xceecc1 in vec::operator- K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:12
    #1 0xce7d87 in addc K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:80
    #2 0xce909c in work K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:99
    #3 0xce95ba in work K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:103
    #4 0xcecf9b in main K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:152
    #5 0xd3e4ef in __scrt_common_main_seh f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
    #6 0x75d0343c in BaseThreadInitThunk+0x11 (C:\Windows\syswow64\kernel32.dll+0x7dd7343c)
    #7 0x77e99831 in RtlInitializeExceptionChain+0x62 (C:\Windows\SysWOW64\ntdll.dll+0x7dea9831)
    #8 0x77e99804 in RtlInitializeExceptionChain+0x35 (C:\Windows\SysWOW64\ntdll.dll+0x7dea9804)

0x14f00448 is located 8 bytes to the right of 16-byte region [0x14f00430,0x14f00440)
allocated by thread T0 here:
    #0 0xd3cb8a in operator new C:\src\llvm_package_1000-final\llvm-project\compiler-rt\lib\asan\asan_new_delete.cpp:99
    #1 0xcf6693 in std::_Allocate C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\include\xmemory0:93
    #2 0xcf83c5 in std::allocator<vec>::allocate C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\include\xmemory0:946
    #3 0xcf72c0 in std::vector<vec,std::allocator<vec> >::emplace_back<const vec &> C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\include\vector:954
    #4 0xcedb13 in std::vector<vec,std::allocator<vec> >::push_back C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\include\vector:981
    #5 0xce6ce2 in buildc K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:63
    #6 0xce9071 in work K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:97
    #7 0xce95ba in work K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:103
    #8 0xcecf9b in main K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:152
    #9 0xd3e4ef in __scrt_common_main_seh f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
    #10 0x75d0343c in BaseThreadInitThunk+0x11 (C:\Windows\syswow64\kernel32.dll+0x7dd7343c)
    #11 0x77e99831 in RtlInitializeExceptionChain+0x62 (C:\Windows\SysWOW64\ntdll.dll+0x7dea9831)
    #12 0x77e99804 in RtlInitializeExceptionChain+0x35 (C:\Windows\SysWOW64\ntdll.dll+0x7dea9804)

SUMMARY: AddressSanitizer: heap-buffer-overflow K:\codeforces72\7a56b35ba7b88708f885abdd80b2d167\compile-28a0ace319aac611bc4e6480acdbec90\p71.cpp:12 in vec::operator-
Shadow bytes around the buggy address:
  0x329e0030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x329e0040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x329e0050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x329e0060: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x329e0070: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x329e0080: fa fa fd fd fa fa 00 00 fa[fa]fd fd fa fa fd fd
  0x329e0090: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
  0x329e00a0: fa fa fd fd fa fa fd fd fa fa fd fd fa fa fd fd
  0x329e00b0: fa fa fd fd fa fa fd fa fa fa fd fd fa fa fd fa
  0x329e00c0: fa fa fd fd fa fa fd fd fa fa fd fa fa fa 00 05
  0x329e00d0: fa fa 00 04 fa fa 00 00 fa fa 00 07 fa fa 00 00
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
  Shadow gap:              cc
==4912==ABORTING

[close]

有神仙能教教吗/kel

code

已经由于对着题解调代码的缘故改得跟某篇题解差不多了

2022/2/17 17:16
加载中...