Bryan Call created TS-4983: ------------------------------ Summary: Buffer overflow in esi parser_test Key: TS-4983 URL: https://issues.apache.org/jira/browse/TS-4983 Project: Traffic Server Issue Type: Bug Components: Plugins, Tests Reporter: Bryan Call
{noformat} ================================================================= ==28765==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60400000d3cf at pc 0x7f7864e3ba81 bp 0x7ffe4f0bdcb0 sp 0x7ffe4f0bd428 READ of size 10 at 0x60400000d3cf thread T0 #0 0x7f7864e3ba80 (/lib64/libasan.so.3+0x8ea80) #1 0x7f7864e3dced in __interceptor_vsnprintf (/lib64/libasan.so.3+0x90ced) #2 0x426c55 in Error(char const*, ...) test/print_funcs.cc:48 #3 0x41ccbc in EsiParser::_parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int&, EsiLib::DocNodeList&, bool) const lib/EsiParser.cc:350 #4 0x41d586 in EsiParser::_completeParse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, unsigned long&, EsiLib::DocNodeList&, char const*, int) const lib/EsiParser.cc:117 #5 0x41d9b2 in EsiParser::parse(EsiLib::DocNodeList&, char const*, int) const lib/EsiParser.cc:636 #6 0x40944d in main test/parser_test.cc:1029 #7 0x7f7863259730 in __libc_start_main (/lib64/libc.so.6+0x20730) #8 0x4143b8 in _start (/home/bcall/dev/apache/trafficserver/plugins/esi/parser_test+0x4143b8) 0x60400000d3cf is located 1 bytes to the left of 37-byte region [0x60400000d3d0,0x60400000d3f5) allocated by thread T0 here: #0 0x7f7864e74ea0 in operator new(unsigned long) (/lib64/libasan.so.3+0xc7ea0) #1 0x7f7863c3ebf8 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long) (/lib64/libstdc++.so.6+0x123bf8) SUMMARY: AddressSanitizer: heap-buffer-overflow (/lib64/libasan.so.3+0x8ea80) Shadow bytes around the buggy address: 0x0c087fff9a20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff9a30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff9a40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff9a50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c087fff9a60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa =>0x0c087fff9a70: fa fa fa fa fa fa fa fa fa[fa]00 00 00 00 05 fa 0x0c087fff9a80: fa fa fd fd fd fd fd fa fa fa 00 00 00 00 00 00 0x0c087fff9a90: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd 0x0c087fff9aa0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd 0x0c087fff9ab0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd 0x0c087fff9ac0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd 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 Heap right redzone: fb Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack partial redzone: f4 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 ==28765==ABORTING {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)