From cb5bb0cec71d07366a6eea4beea85c70681693c1 Mon Sep 17 00:00:00 2001
From: Nicholas Nethercote <nnethercote@mozilla.com>
Date: Thu, 6 Mar 2014 21:09:07 -0800
Subject: [PATCH] Fix mask handling when some bytes are missing.

---
 src/core/image.js | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/core/image.js b/src/core/image.js
index a785e3b60..25d47fa16 100644
--- a/src/core/image.js
+++ b/src/core/image.js
@@ -213,14 +213,14 @@ var PDFImage = (function PDFImageClosure() {
                                                      inverseDecode) {
     // Copy imgArray into a typed array (inverting if necessary) so it can be
     // transferred to the main thread.
-    var length = ((width + 7) >> 3) * height;
-    var data = new Uint8Array(length);
+    var actualLength = imgArray.byteLength;
+    var data = new Uint8Array(actualLength);
     if (inverseDecode) {
-      for (var i = 0; i < length; i++) {
+      for (var i = 0; i < actualLength; i++) {
         data[i] = ~imgArray[i];
       }
     } else {
-      for (var i = 0; i < length; i++) {
+      for (var i = 0; i < actualLength; i++) {
         data[i] = imgArray[i];
       }
     }