OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "../../../include/fpdfapi/fpdf_parser.h" | 7 #include "../../../include/fpdfapi/fpdf_parser.h" |
8 #include "../../../include/fxcrt/fx_string.h" | 8 #include "../../../include/fxcrt/fx_string.h" |
9 | 9 |
10 //static | 10 //static |
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1079 m_pData = (FX_LPBYTE)pStream->m_pDataBuf; | 1079 m_pData = (FX_LPBYTE)pStream->m_pDataBuf; |
1080 return; | 1080 return; |
1081 } | 1081 } |
1082 FX_LPBYTE pSrcData; | 1082 FX_LPBYTE pSrcData; |
1083 FX_DWORD dwSrcSize = pStream->m_dwSize; | 1083 FX_DWORD dwSrcSize = pStream->m_dwSize; |
1084 if (dwSrcSize == 0) { | 1084 if (dwSrcSize == 0) { |
1085 return; | 1085 return; |
1086 } | 1086 } |
1087 if (!pStream->IsMemoryBased()) { | 1087 if (!pStream->IsMemoryBased()) { |
1088 pSrcData = m_pSrcData = FX_Alloc(FX_BYTE, dwSrcSize); | 1088 pSrcData = m_pSrcData = FX_Alloc(FX_BYTE, dwSrcSize); |
1089 if (!pStream->ReadRawData(0, pSrcData, dwSrcSize)) { | 1089 if (!pSrcData || !pStream->ReadRawData(0, pSrcData, dwSrcSize)) { |
1090 return; | 1090 return; |
1091 } | 1091 } |
1092 } else { | 1092 } else { |
1093 pSrcData = pStream->m_pDataBuf; | 1093 pSrcData = pStream->m_pDataBuf; |
1094 } | 1094 } |
1095 FX_LPBYTE pDecryptedData; | 1095 FX_LPBYTE pDecryptedData; |
1096 FX_DWORD dwDecryptedSize; | 1096 FX_DWORD dwDecryptedSize; |
1097 if (pStream->m_pCryptoHandler) { | 1097 if (pStream->m_pCryptoHandler) { |
1098 CFX_BinaryBuf dest_buf; | 1098 CFX_BinaryBuf dest_buf; |
1099 dest_buf.EstimateSize(pStream->m_pCryptoHandler->DecryptGetSize(dwSrcSiz
e)); | 1099 dest_buf.EstimateSize(pStream->m_pCryptoHandler->DecryptGetSize(dwSrcSiz
e)); |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1158 } | 1158 } |
1159 FX_LPBYTE CPDF_StreamAcc::DetachData() | 1159 FX_LPBYTE CPDF_StreamAcc::DetachData() |
1160 { | 1160 { |
1161 if (m_bNewBuf) { | 1161 if (m_bNewBuf) { |
1162 FX_LPBYTE p = m_pData; | 1162 FX_LPBYTE p = m_pData; |
1163 m_pData = NULL; | 1163 m_pData = NULL; |
1164 m_dwSize = 0; | 1164 m_dwSize = 0; |
1165 return p; | 1165 return p; |
1166 } | 1166 } |
1167 FX_LPBYTE p = FX_Alloc(FX_BYTE, m_dwSize); | 1167 FX_LPBYTE p = FX_Alloc(FX_BYTE, m_dwSize); |
| 1168 if (p == NULL) { |
| 1169 return NULL; |
| 1170 } |
1168 FXSYS_memcpy32(p, m_pData, m_dwSize); | 1171 FXSYS_memcpy32(p, m_pData, m_dwSize); |
1169 return p; | 1172 return p; |
1170 } | 1173 } |
1171 void CPDF_Reference::SetRef(CPDF_IndirectObjects* pDoc, FX_DWORD objnum) | 1174 void CPDF_Reference::SetRef(CPDF_IndirectObjects* pDoc, FX_DWORD objnum) |
1172 { | 1175 { |
1173 m_pObjList = pDoc; | 1176 m_pObjList = pDoc; |
1174 m_RefObjNum = objnum; | 1177 m_RefObjNum = objnum; |
1175 } | 1178 } |
1176 CPDF_IndirectObjects::CPDF_IndirectObjects(IPDF_DocParser* pParser) | 1179 CPDF_IndirectObjects::CPDF_IndirectObjects(IPDF_DocParser* pParser) |
1177 { | 1180 { |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1279 pObj->m_ObjNum = objnum; | 1282 pObj->m_ObjNum = objnum; |
1280 m_IndirectObjs.SetAt((FX_LPVOID)(FX_UINTPTR)objnum, pObj); | 1283 m_IndirectObjs.SetAt((FX_LPVOID)(FX_UINTPTR)objnum, pObj); |
1281 if (m_LastObjNum < objnum) { | 1284 if (m_LastObjNum < objnum) { |
1282 m_LastObjNum = objnum; | 1285 m_LastObjNum = objnum; |
1283 } | 1286 } |
1284 } | 1287 } |
1285 FX_DWORD CPDF_IndirectObjects::GetLastObjNum() const | 1288 FX_DWORD CPDF_IndirectObjects::GetLastObjNum() const |
1286 { | 1289 { |
1287 return m_LastObjNum; | 1290 return m_LastObjNum; |
1288 } | 1291 } |
OLD | NEW |