Index: core/fpdfdoc/cpdf_formfield.cpp |
diff --git a/core/fpdfdoc/cpdf_formfield.cpp b/core/fpdfdoc/cpdf_formfield.cpp |
index cbce1aaf69d4170a9d6e63663a71130cd13f4c47..38f7648e0bfe5a3f8e54245ca068aa8d965e7b1f 100644 |
--- a/core/fpdfdoc/cpdf_formfield.cpp |
+++ b/core/fpdfdoc/cpdf_formfield.cpp |
@@ -577,17 +577,16 @@ FX_BOOL CPDF_FormField::SetItemSelection(int index, |
if (pValue->GetUnicodeText() == opt_value) |
m_pDict->RemoveFor("V"); |
} else if (pValue->IsArray()) { |
- CPDF_Array* pArray = new CPDF_Array; |
+ std::unique_ptr<CPDF_Array, ReleaseDeleter<CPDF_Array>> pArray( |
+ new CPDF_Array); |
for (int i = 0; i < CountOptions(); i++) { |
if (i != index && IsItemSelected(i)) { |
opt_value = GetOptionValue(i); |
pArray->AddString(PDF_EncodeText(opt_value)); |
} |
} |
- if (pArray->GetCount() < 1) |
- pArray->Release(); |
- else |
- m_pDict->SetFor("V", pArray); |
+ if (pArray->GetCount() > 0) |
+ m_pDict->SetFor("V", pArray.release()); // std::move someday |
} |
} else { |
m_pDict->RemoveFor("V"); |