| Index: pdf/pdfium/pdfium_engine.cc
|
| diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
|
| index 8c49b9dc0bc67a56ed1bb3732a394ae62ec88ccb..7dca0136ade50b11956dd198c95a1ba895eddea3 100644
|
| --- a/pdf/pdfium/pdfium_engine.cc
|
| +++ b/pdf/pdfium/pdfium_engine.cc
|
| @@ -2050,12 +2050,18 @@ void PDFiumEngine::SearchUsingICU(const base::string16& term,
|
| }
|
| if (text_length <= 0)
|
| return;
|
| +
|
| unsigned short* data =
|
| reinterpret_cast<unsigned short*>(WriteInto(&page_text, text_length + 1));
|
| - FPDFText_GetText(pages_[current_page]->GetTextPage(),
|
| - character_to_start_searching_from,
|
| - text_length,
|
| - data);
|
| + int written = FPDFText_GetText(pages_[current_page]->GetTextPage(),
|
| + character_to_start_searching_from,
|
| + text_length,
|
| + data);
|
| + if (written < 1)
|
| + page_text.resize(0);
|
| + else
|
| + page_text.resize(written - 1);
|
| +
|
| std::vector<PDFEngine::Client::SearchStringResult> results;
|
| client_->SearchString(
|
| page_text.c_str(), term.c_str(), case_sensitive, &results);
|
|
|