Skip to content

Commit f1d1d6f

Browse files
orbitcowboydanmar
authored andcommitted
Fixed #13211: gnu.cfg: Improved configuration of backtrace() (danmar#6908)
1 parent d5e1463 commit f1d1d6f

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

cfg/gnu.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,7 @@
709709
<function name="backtrace">
710710
<returnValue type="int"/>
711711
<noreturn>false</noreturn>
712+
<leak-ignore/>
712713
<arg nr="1" direction="out">
713714
<not-null/>
714715
<minsize type="argvalue" arg="2"/>

test/cfg/gnu.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <sys/mman.h>
2424
#include <sys/sem.h>
2525
#include <wchar.h>
26+
#include <execinfo.h>
2627
#if !defined(__CYGWIN__) && !defined(__APPLE__)
2728
#include <sys/epoll.h>
2829
#endif
@@ -47,6 +48,15 @@ void unreachableCode_error(void) // #11197
4748
}
4849
#endif
4950

51+
52+
int deallocuse_backtrace(int size) {
53+
void **buffer = (void **)malloc(sizeof(void *) * size);
54+
free(buffer);
55+
// cppcheck-suppress deallocuse
56+
int numEntries = backtrace(buffer, size);
57+
return numEntries;
58+
}
59+
5060
void leakReturnValNotUsed_get_current_dir_name(void)
5161
{
5262
// cppcheck-suppress leakReturnValNotUsed

0 commit comments

Comments
 (0)