- GOLDED.DEVEL ------------ < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 13 из 80
 От   : Nil A                               2:5015/46         16 сен 26 22:46:08
 К    : All                                                   16 сен 26 22:52:01
 Тема : AddressSanitizer: stack-buffer-overflow SquishArea::make_dump_msg
----------------------------------------------------------------------------------
                                                                                 
@REPLY: 2:5015/46 6aaaed3a
@MSGID: 2:5015/46 6aaaf33c
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9
Hello, All!

Wednesday September 16 2026 22:24, from Nil A -> All:

 NA> Почему-то работа со сквишом как-то не очень. Если на сообщении в
 NA> сквишовой базе делать dump. На JAM работает.

 На джаме тоже не работает. Сейчас поаккуратнее стект напишу.
Собственно, не важно как мы до HexDump16() добрались.

На Squish:

 ==23921==ERROR: AddressSanitizer: stack-buffer-overflow on address
0x7ffe042d5fae at pc 0x0000007c1d67 bp 0x7ffe042d5b40 sp 0x7ffe042d5b38
READ of size 1 at 0x7ffe042d5fae thread T0
  #0 0x7c1d66 in HexDump16(char*, char const*, int, char const*, int)
/home/fido/src/golded-plus/goldlib/gall/gmemutil.cpp:53
  #1 0x40c62f in HexDump16(char*, char const*, int, int)
/home/fido/src/golded-plus/goldlib/gall/gmemall.h:97
  #2 0x6de9d2 in SquishArea::make_dump_msg(Line*&, gmsg*, char*)
/home/fido/src/golded-plus/goldlib/gmb3/gmosqsh5.cpp:150
  #3 0x5714ae in Area::MakeDumpMsg(GMsg*, char*)
/home/fido/src/golded-plus/golded3/gmarea.h:1314
  #4 0x562db8 in MakeLineIndex(GMsg*, int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:3462
  #5 0x56222f in GMsg::TextToLines(int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:3323
  #6 0x57fd09 in Area::LoadMsg(GMsg*, unsigned int, int, int)
/home/fido/src/golded-plus/golded3/gelmsg.cpp:186
  #7 0x5f56ad in LoadMessage(GMsg*, int)
/home/fido/src/golded-plus/golded3/geread.cpp:1375
    #8 0x5f1030 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:364
    #9 0x5801ea in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
  #10 0x7fbd3be0bf44 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
  #11 0x408228
(/home/fido/src/golded-plus/build-asan/golded3/golded+0x408228)
Address 0x7ffe042d5fae is located in stack of thread T0 at offset 542 in frame
    #0 0x6dcbdf in SquishArea::make_dump_msg(Line*&, gmsg*, char*)
/home/fido/src/golded-plus/goldlib/gmb3/gmosqsh5.cpp:63
  This frame has 6 object(s):
    [32, 40) `line` (line 89)
    [64, 76) `_idx` (line 73)
    [96, 124) `_frm` (line 79)
    [160, 260) `buf` (line 88)
  [304, 542) `_hdr` (line 85) <== Memory access at offset 542
overflows this variable
    [608, 864) `_base` (line 68)
 SUMMARY: AddressSanitizer: stack-buffer-overflow
/home/fido/src/golded-plus/goldlib/gall/gmemutil.cpp:53 in HexDump16(char*, char const*, int, char const*, int)


На JAM:
 ==24680==ERROR: AddressSanitizer: stack-buffer-overflow on address
0x7ffe89c2478e at pc 0x0000007c1d67 bp 0x7ffe89c243d0 sp 0x7ffe89c243c8
READ of size 1 at 0x7ffe89c2478e thread T0
  #0 0x7c1d66 in HexDump16(char*, char const*, int, char const*, int)
/home/fido/src/golded-plus/goldlib/gall/gmemutil.cpp:53
  #1 0x40c62f in HexDump16(char*, char const*, int, int)
/home/fido/src/golded-plus/goldlib/gall/gmemall.h:97
  #2 0x6986af in FidoArea::make_dump_msg(Line*&, gmsg*, char*)
/home/fido/src/golded-plus/goldlib/gmb3/gmofido5.cpp:192
  #3 0x5714ae in Area::MakeDumpMsg(GMsg*, char*)
/home/fido/src/golded-plus/golded3/gmarea.h:1314
  #4 0x562db8 in MakeLineIndex(GMsg*, int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:3462
  #5 0x56222f in GMsg::TextToLines(int, bool, bool)
/home/fido/src/golded-plus/golded3/geline.cpp:3323
  #6 0x57fd09 in Area::LoadMsg(GMsg*, unsigned int, int, int)
/home/fido/src/golded-plus/golded3/gelmsg.cpp:186
  #7 0x5f56ad in LoadMessage(GMsg*, int)
/home/fido/src/golded-plus/golded3/geread.cpp:1375
    #8 0x5f1030 in Reader() /home/fido/src/golded-plus/golded3/geread.cpp:364
    #9 0x5801ea in main /home/fido/src/golded-plus/golded3/gemain.cpp:54
  #10 0x7f6fa82e0f44 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
  #11 0x408228
(/home/fido/src/golded-plus/build-asan/golded3/golded+0x408228)

Address 0x7ffe89c2478e is located in stack of thread T0 at offset 414 in frame
  #0 0x697a81 in FidoArea::make_dump_msg(Line*&, gmsg*, char*)
/home/fido/src/golded-plus/goldlib/gmb3/gmofido5.cpp:149

  This frame has 3 object(s):
    [48, 56) `line` (line 157)
    [80, 180) `buf` (line 156)
  [224, 414) `_hdr` (line 153) <== Memory access at offset 414
overflows this variable
 HINT: this may be a false positive if your program uses some
custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
 SUMMARY: AddressSanitizer: stack-buffer-overflow
/home/fido/src/golded-plus/goldlib/gall/gmemutil.cpp:53 in HexDump16(char*, char const*, int, char const*, int)

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20260305
 * Origin: I`m not AI but still can make mistakes, so double-check. (2:5015/46)
SEEN-BY: 5001/100 5015/46 5020/715 1146 4441
5030/1081 5051/44 5057/19 6035/66
@PATH: 5015/46 5020/715



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх