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

Unified Diff: core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp

Issue 361553002: Remove "this==NULL" and adjust corresponding callers (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: fix if check warning Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
index ff670965eca46b97fab402afd04d23fbd598de65..5e8c1b5ec3b2aa33cb1634f72994599e3be9ab4c 100644
--- a/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
+++ b/core/src/fpdfapi/fpdf_page/fpdf_page_parser.cpp
@@ -140,7 +140,8 @@ int CPDF_StreamContentParser::GetNextParamPos()
m_ParamStartPos = 0;
}
if (m_ParamBuf1[m_ParamStartPos].m_Type == 0) {
- m_ParamBuf1[m_ParamStartPos].m_pObject->Release();
+ if (CPDF_Object* pObject = m_ParamBuf1[m_ParamStartPos].m_pObject)
+ pObject->Release();
}
return m_ParamStartPos;
}
@@ -187,7 +188,8 @@ void CPDF_StreamContentParser::ClearAllParams()
FX_DWORD index = m_ParamStartPos;
for (FX_DWORD i = 0; i < m_ParamCount; i ++) {
if (m_ParamBuf1[index].m_Type == 0) {
- m_ParamBuf1[index].m_pObject->Release();
+ if (CPDF_Object* pObject = m_ParamBuf1[index].m_pObject)
+ pObject->Release();
}
index ++;
if (index == PARAM_BUF_SIZE) {
@@ -238,7 +240,7 @@ CFX_ByteString CPDF_StreamContentParser::GetString(FX_DWORD index)
if (param.m_Type == PDFOBJ_NAME) {
return CFX_ByteString(param.m_Name.m_Buffer, param.m_Name.m_Len);
}
- if (param.m_Type == 0) {
+ if (param.m_Type == 0 && param.m_pObject) {
return param.m_pObject->GetString();
}
return CFX_ByteString();
@@ -256,7 +258,7 @@ FX_FLOAT CPDF_StreamContentParser::GetNumber(FX_DWORD index)
if (param.m_Type == PDFOBJ_NUMBER) {
return param.m_Number.m_bInteger ? (FX_FLOAT)param.m_Number.m_Integer : param.m_Number.m_Float;
}
- if (param.m_Type == 0) {
+ if (param.m_Type == 0 && param.m_pObject) {
return param.m_pObject->GetNumber();
}
return 0;
@@ -653,7 +655,7 @@ void CPDF_StreamContentParser::Handle_SetDash()
if (m_Options.m_bTextOnly) {
return;
}
- CPDF_Array* pArray = GetObject(1)->GetArray();
+ CPDF_Array* pArray = GetObject(1) ? GetObject(1)->GetArray() : NULL;
if (pArray == NULL) {
return;
}
@@ -728,7 +730,7 @@ void CPDF_StreamContentParser::Handle_ExecuteXObject()
m_bResourceMissing = TRUE;
return;
}
- CFX_ByteStringC type = pXObject->GetDict()->GetConstString(FX_BSTRC("Subtype"));
+ CFX_ByteStringC type = pXObject->GetDict() ? pXObject->GetDict()->GetConstString(FX_BSTRC("Subtype")) : CFX_ByteStringC();
if (type == FX_BSTRC("Image")) {
if (m_Options.m_bTextOnly) {
return;
@@ -1425,7 +1427,7 @@ void CPDF_StreamContentParser::Handle_ShowText()
}
void CPDF_StreamContentParser::Handle_ShowText_Positioning()
{
- CPDF_Array* pArray = GetObject(0)->GetArray();
+ CPDF_Array* pArray = GetObject(0) ? GetObject(0)->GetArray() : NULL;
if (pArray == NULL) {
return;
}
@@ -1457,10 +1459,11 @@ void CPDF_StreamContentParser::Handle_ShowText_Positioning()
pStrs[iSegment] = str;
pKerning[iSegment ++] = 0;
} else {
+ FX_FLOAT num = pObj ? pObj->GetNumber() : 0;
if (iSegment == 0) {
- fInitKerning += pObj->GetNumber();
+ fInitKerning += num;
} else {
- pKerning[iSegment - 1] += pObj->GetNumber();
+ pKerning[iSegment - 1] += num;
}
}
}
« no previous file with comments | « core/src/fpdfapi/fpdf_page/fpdf_page_graph_state.cpp ('k') | core/src/fpdfapi/fpdf_page/fpdf_page_parser_new.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698