Fixed crash on NULL de-referencing.

BUG=433992
R=bo_xu@foxitsoftware.com

Review URL: https://codereview.chromium.org/733273002
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
index 5b174f0..42bbffa 100644
--- a/core/src/fpdftext/fpdf_text_int.cpp
+++ b/core/src/fpdftext/fpdf_text_int.cpp
@@ -1499,7 +1499,7 @@
         CPDF_ContentMarkItem& item = pMarkData->GetItem(n);
         CFX_ByteString tagStr = (CFX_ByteString)item.GetName();
         pDict = (CPDF_Dictionary*)item.GetParam();
-        CPDF_String* temp = (CPDF_String*)pDict->GetElement(FX_BSTRC("ActualText"));
+        CPDF_String* temp = (CPDF_String*)(pDict ? pDict->GetElement(FX_BSTRC("ActualText")) : NULL);
         if (temp) {
             actText = temp->GetUnicodeText();
         }
@@ -1875,30 +1875,30 @@
             }
         }
     }
-    if (bIsBidiAndMirrosInverse) {

-        FX_INT32 i, j;

-        i = iCharListStartAppend;

-        j = m_TempCharList.GetSize() - 1;

-        PAGECHAR_INFO tempCharInfo;

-        FX_INT32 tempIndex = 0;

-        for (; i < j; i++, j--) {

-            tempCharInfo = m_TempCharList[i];

-            m_TempCharList[i] = m_TempCharList[j];

-            m_TempCharList[j] = tempCharInfo;

-            tempIndex = m_TempCharList[i].m_Index;

-            m_TempCharList[i].m_Index = m_TempCharList[j].m_Index;

-            m_TempCharList[j].m_Index = tempIndex;

-        }

-        FX_WCHAR * pTempBuffer = m_TempTextBuf.GetBuffer();

-        i = iBufStartAppend;

-        j = m_TempTextBuf.GetLength() - 1;

-        FX_WCHAR wTemp;

-        for (; i < j; i++, j--) {

-            wTemp = pTempBuffer[i];

-            pTempBuffer[i] = pTempBuffer[j];

-            pTempBuffer[j] = wTemp;

-        }

-    }

+    if (bIsBidiAndMirrosInverse) {
+        FX_INT32 i, j;
+        i = iCharListStartAppend;
+        j = m_TempCharList.GetSize() - 1;
+        PAGECHAR_INFO tempCharInfo;
+        FX_INT32 tempIndex = 0;
+        for (; i < j; i++, j--) {
+            tempCharInfo = m_TempCharList[i];
+            m_TempCharList[i] = m_TempCharList[j];
+            m_TempCharList[j] = tempCharInfo;
+            tempIndex = m_TempCharList[i].m_Index;
+            m_TempCharList[i].m_Index = m_TempCharList[j].m_Index;
+            m_TempCharList[j].m_Index = tempIndex;
+        }
+        FX_WCHAR * pTempBuffer = m_TempTextBuf.GetBuffer();
+        i = iBufStartAppend;
+        j = m_TempTextBuf.GetLength() - 1;
+        FX_WCHAR wTemp;
+        for (; i < j; i++, j--) {
+            wTemp = pTempBuffer[i];
+            pTempBuffer[i] = pTempBuffer[j];
+            pTempBuffer[j] = wTemp;
+        }
+    }
 }
 FX_INT32 CPDF_TextPage::GetTextObjectWritingMode(const CPDF_TextObject* pTextObj)
 {