Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(364)

Side by Side Diff: core/src/fpdfapi/fpdf_parser/fpdf_parser_objects.cpp

Issue 1145843005: Revert "Remove FX_Alloc() null checks now that it can't return NULL." (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp ('k') | core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698