aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-20 23:12:27 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-20 23:12:27 +0000
commitb557e4b05c393902e4fed9e68a93a9518bbf6d7d (patch)
treed4e95b4855b772d7cf850fb6ab34420b47f7d803
parent283275be6212e3501f34fab48d11ff2bd9cb9e48 (diff)
parent9277a94aefe24518b75eba1d106542ef4b3a39cc (diff)
downloadpdfium-android14-d1-s1-release.tar.gz
Change-Id: I3142a91c8157019e10927bc4fe4ca93a1fca37de
-rw-r--r--core/fxcrt/widestring.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/core/fxcrt/widestring.cpp b/core/fxcrt/widestring.cpp
index 10a31c3fa..4e51a85d9 100644
--- a/core/fxcrt/widestring.cpp
+++ b/core/fxcrt/widestring.cpp
@@ -287,18 +287,13 @@ static_assert(sizeof(WideString) <= sizeof(wchar_t*),
WideString WideString::FormatV(const wchar_t* format, va_list argList) {
va_list argListCopy;
va_copy(argListCopy, argList);
- int maxLen = vswprintf(nullptr, 0, format, argListCopy);
+ auto guess = GuessSizeForVSWPrintf(format, argListCopy);
va_end(argListCopy);
- if (maxLen <= 0) {
- va_copy(argListCopy, argList);
- auto guess = GuessSizeForVSWPrintf(format, argListCopy);
- va_end(argListCopy);
-
- if (!guess.has_value())
- return WideString();
- maxLen = pdfium::base::checked_cast<int>(guess.value());
+ if (!guess.has_value()) {
+ return WideString();
}
+ int maxLen = pdfium::base::checked_cast<int>(guess.value());
while (maxLen < 32 * 1024) {
va_copy(argListCopy, argList);