bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/27693] New: Gprof (GNU Binutils for Debian) 2.36.1 ,stack


From: 2243829852 at qq dot com
Subject: [Bug binutils/27693] New: Gprof (GNU Binutils for Debian) 2.36.1 ,stack overflow occured when call the function "demangle_path"
Date: Sat, 03 Apr 2021 07:53:13 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=27693

            Bug ID: 27693
           Summary: Gprof (GNU Binutils for Debian) 2.36.1 ,stack overflow
                    occured when call the function "demangle_path"
           Product: binutils
           Version: 2.36.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: 2243829852 at qq dot com
  Target Milestone: ---

Created attachment 13347
  --> https://sourceware.org/bugzilla/attachment.cgi?id=13347&action=edit
the file could trigger the bug

Vulnerability triggered environment:ubuntu18.04,gcc 7.5

command line:  gprof crash   gmon.out

Notice: the gmon.out must use the file offered by me

the bug detail as follow:

==43090== Memcheck, a memory error detector
==43090== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==43090== Using Valgrind-3.17.0 and LibVEX; rerun with -h for copyright info
==43090== Command: ./binutils-2.36.1/gprof/gprof
crashes_fair/id:000000,sig:11,src:005586,op:flip1,pos:14002 temp/gmon.out
==43090== Parent PID: 2375
==43090== 
==43090== Stack overflow in thread #1: can't grow stack to 0x1ffe801000
==43090== 
==43090== Process terminating with default action of signal 11 (SIGSEGV)
==43090==  Access not within mapped region at address 0x1FFE801FF8
==43090== Stack overflow in thread #1: can't grow stack to 0x1ffe801000
==43090==    at 0x1FA0F6: demangle_path (rust-demangle.c:664)
==43090==  If you believe this happened as a result of a stack
==43090==  overflow in your program's main thread (unlikely but
==43090==  possible), you can try to increase the size of the
==43090==  main thread stack using the --main-stacksize= flag.
==43090==  The main thread stack size used in this run was 8388608.
==43090== Stack overflow in thread #1: can't grow stack to 0x1ffe801000
==43090== 
==43090== Process terminating with default action of signal 11 (SIGSEGV)
==43090==  Access not within mapped region at address 0x1FFE801FF0
==43090== Stack overflow in thread #1: can't grow stack to 0x1ffe801000
==43090==    at 0x402A12A: _vgnU_freeres (vg_preloaded.c:57)
==43090==  If you believe this happened as a result of a stack
==43090==  overflow in your program's main thread (unlikely but
==43090==  possible), you can try to increase the size of the
==43090==  main thread stack using the --main-stacksize= flag.
==43090==  The main thread stack size used in this run was 8388608.
==43090== 
==43090== HEAP SUMMARY:
==43090==     in use at exit: 624,621 bytes in 56 blocks
==43090==   total heap usage: 117 allocs, 61 frees, 1,206,479 bytes allocated
==43090== 
==43090== LEAK SUMMARY:
==43090==    definitely lost: 0 bytes in 0 blocks
==43090==    indirectly lost: 0 bytes in 0 blocks
==43090==      possibly lost: 0 bytes in 0 blocks
==43090==    still reachable: 624,621 bytes in 56 blocks

I analyse the source code ,found that the function "demangle_path" in
rust-demangle.c and the function "demangle_type"
call each other without stopping.Finally,This results in a stack overflow

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]