| Index: pdf/pdfium/pdfium_engine.cc
|
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
|
| index d87b6dbfcf7f7507353a9cdb9e73a2003f171dde..e8c164b03ac0dd2f8066ef7b385e59a8803d1449 100644
|
| --- a/pdf/pdfium/pdfium_engine.cc
|
| +++ b/pdf/pdfium/pdfium_engine.cc
|
| @@ -3071,8 +3071,10 @@ int PDFiumEngine::Form_Response(IPDF_JSPLATFORM* param,
|
| std::string rv = engine->client_->Prompt(question_str, default_str);
|
| base::string16 rv_16 = base::UTF8ToUTF16(rv);
|
| int rv_bytes = rv_16.size() * sizeof(base::char16);
|
| - if (response && rv_bytes <= length)
|
| - memcpy(response, rv_16.c_str(), rv_bytes);
|
| + if (response) {
|
| + int bytes_to_copy = rv_bytes < length ? rv_bytes : length;
|
| + memcpy(response, rv_16.c_str(), bytes_to_copy);
|
| + }
|
| return rv_bytes;
|
| }
|
|
|
|
|