Chromium Code Reviews| Index: core/fpdfapi/page/fpdf_page_func.cpp |
| diff --git a/core/fpdfapi/page/fpdf_page_func.cpp b/core/fpdfapi/page/fpdf_page_func.cpp |
| index d2e08a511c6566e583e9f7e29c0221058580ed1c..248a13ab84038a712a171d05e9ac07c8b70a6b70 100644 |
| --- a/core/fpdfapi/page/fpdf_page_func.cpp |
| +++ b/core/fpdfapi/page/fpdf_page_func.cpp |
| @@ -343,11 +343,12 @@ FX_BOOL CPDF_PSEngine::DoOperator(PDF_PSOP op) { |
| case PSOP_BITSHIFT: { |
| int shift = (int)Pop(); |
| int i = (int)Pop(); |
| - if (shift > 0) { |
| + if (shift < -31 || shift > 31) |
|
Tom Sepez
2016/10/12 20:17:58
http://en.cppreference.com/w/cpp/language/operator
|
| + Push(0); |
| + else if (shift >= 0) |
| Push(i << shift); |
| - } else { |
| + else |
| Push(i >> -shift); |
| - } |
| break; |
| } |
| case PSOP_TRUE: |