Loading libutils/String8.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -309,8 +309,14 @@ status_t String8::appendFormatV(const char* fmt, va_list args) n = vsnprintf(nullptr, 0, fmt, tmp_args); n = vsnprintf(nullptr, 0, fmt, tmp_args); va_end(tmp_args); va_end(tmp_args); if (n != 0) { if (n < 0) return UNKNOWN_ERROR; if (n > 0) { size_t oldLength = length(); size_t oldLength = length(); if ((size_t)n > SIZE_MAX - 1 || oldLength > SIZE_MAX - (size_t)n - 1) { return NO_MEMORY; } char* buf = lockBuffer(oldLength + n); char* buf = lockBuffer(oldLength + n); if (buf) { if (buf) { vsnprintf(buf + oldLength, n + 1, fmt, args); vsnprintf(buf + oldLength, n + 1, fmt, args); Loading Loading
libutils/String8.cpp +7 −1 Original line number Original line Diff line number Diff line Loading @@ -309,8 +309,14 @@ status_t String8::appendFormatV(const char* fmt, va_list args) n = vsnprintf(nullptr, 0, fmt, tmp_args); n = vsnprintf(nullptr, 0, fmt, tmp_args); va_end(tmp_args); va_end(tmp_args); if (n != 0) { if (n < 0) return UNKNOWN_ERROR; if (n > 0) { size_t oldLength = length(); size_t oldLength = length(); if ((size_t)n > SIZE_MAX - 1 || oldLength > SIZE_MAX - (size_t)n - 1) { return NO_MEMORY; } char* buf = lockBuffer(oldLength + n); char* buf = lockBuffer(oldLength + n); if (buf) { if (buf) { vsnprintf(buf + oldLength, n + 1, fmt, args); vsnprintf(buf + oldLength, n + 1, fmt, args); Loading