Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AString StringPrintf(const char *format, ...) {
- va_list ap;
- va_start(ap, format);
- char *buffer;
- #ifdef _MSC_VER
- int n = vsnprintf(NULL, 0, format, ap);
- buffer = new char[n+1]; <<<<====
- vsnprintf(buffer, n+1, format, ap);
- #else
- vasprintf(&buffer, format, ap);
- #endif
- va_end(ap);
- AString result(buffer);
- free(buffer); <<<<====
- buffer = NULL;
- return result;
- }
- This suspicious code was found in libstagefright project by PVS-Studio static code analyzer.
- Warning message is:
- V611 The memory was allocated using 'new' operator but was released using the 'free' function. Consider inspecting operation logics behind the 'buffer' variable. astring.cpp 340
- PVS-Studio is a static analyzer for detecting bugs in the source code of applications written in C, C++, C++11, C++/CX. Site: http://www.viva64.com/en/pvs-studio/
Advertisement
Add Comment
Please, Sign In to add comment