|
#1
|
|||
|
|||
Широкие терминалы и char buf[сколько не жалко].. StyleCodeНighlight()
Nil A написал(а) к All в Oct 23 05:14:04 по местному времени:
Нello, All! Всё-таки хер ты так просто починишь эти широкие терминалы в эхотаге. 80x25 форева! Например, ты заменил все эти - char buf[256], tmp[256]; + char buf[MAXCOL], tmp[MAXCOL]; А фиг там, там разных char buf[200] разбросано по коду (Container::StyleCodeНighlight). И наступить на них можно, если там в письмах какие-то особо длнные такие вот, или вот такое какие-то выделения, только за пределами этимх 256 байтов обычно. Или вот, подсвечиваем УРЛы как-то по-разному, и там этот буфер на 200. ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f27fb6efef8 at pc 0x7f2800cb9dcb bp 0x7fff678891f0 sp 0x7fff678889a0 WRITE of size 252 at 0x7f27fb6efef8 thread T0 #0 0x7f2800cb9dca in _interceptor_strncpy ../../../../src/libsanitizer/asan/asaninterceptors.cc:476 #1 0xafb4f7 in strxcpy(char, char const, unsigned long) /home/fido/src/golded-plus/goldlib/gall/gstrutil.cpp:725 #2 0x594164 in Container::StyleCodeНighlight(char const*, int, int, bool, int) /home/fido/src/golded-plus/golded3/gectnr.cpp:209 #3 0x86faa2 in GMsgBodyView::PaintLine(int, Line*) /home/fido/src/golded-plus/golded3/geview.cpp:527 #4 0x8708f6 in GMsgBodyView::Paint() /home/fido/src/golded-plus/golded3/geview.cpp:547 #5 0x7b88cf in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:416 #6 0x6c63bb in main /home/fido/src/golded-plus/golded3/gemain.cpp:54 #7 0x7f27ff349f44 in _libc_start_main (/lib/x8664-linux-gnu/libc.so.6+0x21f44) #8 0x407c98 (/home/fido/src/golded-plus/build_asan/golded3/golded+0x407c98) Address 0x7f27fb6efef8 is located in stack of thread T0 at offset 248 in frame #0 0x592a35 in Container::StyleCodeНighlight(char const*, int, int, bool, int) /home/fido/src/golded-plus/golded3/gectnr.cpp:94 Best Regards, Nil --- GoldED+/LNX 1.1.5 |