Skip to content

Commit 5b6208d

Browse files
committed
fix unchecked calloc return on Windows
1 parent 2b1424a commit 5b6208d

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

Sofa/framework/Helper/src/sofa/helper/BackTrace.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -117,16 +117,19 @@ BackTrace::StackTrace BackTrace::getTrace(size_t maxEntries)
117117

118118
frames = CaptureStackBackTrace(0, 100, stack, nullptr);
119119
symbol = (SYMBOL_INFO *)calloc(sizeof(SYMBOL_INFO) + 256 * sizeof(char), 1);
120-
symbol->MaxNameLen = 255;
121-
symbol->SizeOfStruct = sizeof(SYMBOL_INFO);
122-
123-
for (i = 0; i < frames; i++)
120+
if (symbol != nullptr)
124121
{
125-
SymFromAddr(process, (DWORD64)(stack[i]), 0, symbol);
126-
result.push_back(symbol->Name);
127-
}
122+
symbol->MaxNameLen = 255;
123+
symbol->SizeOfStruct = sizeof(SYMBOL_INFO);
124+
125+
for (i = 0; i < frames; i++)
126+
{
127+
SymFromAddr(process, (DWORD64)(stack[i]), 0, symbol);
128+
result.push_back(symbol->Name);
129+
}
128130

129-
free(symbol);
131+
free(symbol);
132+
}
130133
#endif
131134

132135
return result;

0 commit comments

Comments
 (0)