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

Side by Side Diff: fpdfsdk/src/fpdfformfill.cpp

Issue 1261923003: Fix segv above CPDFSDK_Document::GetPageView() (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « no previous file | fpdfsdk/src/fpdfformfill_embeddertest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "../../public/fpdf_formfill.h" 7 #include "../../public/fpdf_formfill.h"
8 #include "../../public/fpdfview.h" 8 #include "../../public/fpdfview.h"
9 #include "../../third_party/base/nonstd_unique_ptr.h" 9 #include "../../third_party/base/nonstd_unique_ptr.h"
10 #include "../include/fsdk_define.h" 10 #include "../include/fsdk_define.h"
11 #include "../include/fsdk_mgr.h" 11 #include "../include/fsdk_mgr.h"
12 #include "../include/javascript/IJavaScript.h" 12 #include "../include/javascript/IJavaScript.h"
13 13
14 namespace { 14 namespace {
15 15
16 CPDFSDK_Document* FormHandleToSDKDoc(FPDF_FORMHANDLE hHandle) 16 CPDFSDK_Document* FormHandleToSDKDoc(FPDF_FORMHANDLE hHandle)
17 { 17 {
18 CPDFDoc_Environment* pEnv = (CPDFDoc_Environment*)hHandle; 18 CPDFDoc_Environment* pEnv = (CPDFDoc_Environment*)hHandle;
19 return pEnv ? pEnv->GetSDKDocument() : nullptr; 19 return pEnv ? pEnv->GetSDKDocument() : nullptr;
20 } 20 }
21 21
22 CPDFSDK_InterForm* FormHandleToInterForm(FPDF_FORMHANDLE hHandle) 22 CPDFSDK_InterForm* FormHandleToInterForm(FPDF_FORMHANDLE hHandle)
23 { 23 {
24 CPDFSDK_Document* pSDKDoc = FormHandleToSDKDoc(hHandle); 24 CPDFSDK_Document* pSDKDoc = FormHandleToSDKDoc(hHandle);
25 return pSDKDoc ? pSDKDoc->GetInterForm() : nullptr; 25 return pSDKDoc ? pSDKDoc->GetInterForm() : nullptr;
26 } 26 }
27 27
28 CPDFSDK_PageView* FormHandleToPageView(FPDF_FORMHANDLE hHandle, FPDF_PAGE page) 28 CPDFSDK_PageView* FormHandleToPageView(FPDF_FORMHANDLE hHandle, FPDF_PAGE page)
29 { 29 {
30 if (!page)
31 return nullptr;
32
30 CPDFSDK_Document* pSDKDoc = FormHandleToSDKDoc(hHandle); 33 CPDFSDK_Document* pSDKDoc = FormHandleToSDKDoc(hHandle);
31 return pSDKDoc ? pSDKDoc->GetPageView((CPDF_Page*)page, TRUE) : nullptr; 34 return pSDKDoc ? pSDKDoc->GetPageView((CPDF_Page*)page, TRUE) : nullptr;
32 } 35 }
33 36
34 } // namespace 37 } // namespace
35 38
36 DLLEXPORT int STDCALL FPDPage_HasFormFieldAtPoint( 39 DLLEXPORT int STDCALL FPDPage_HasFormFieldAtPoint(
37 FPDF_FORMHANDLE hHandle, FPDF_PAGE page, double page_x, double page_y) 40 FPDF_FORMHANDLE hHandle, FPDF_PAGE page, double page_x, double page_y)
38 { 41 {
39 if (!page || !hHandle) 42 if (!page || !hHandle)
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 { 311 {
309 bExistCAAction = aa.ActionExist(CPDF_AAction::ClosePage); 312 bExistCAAction = aa.ActionExist(CPDF_AAction::ClosePage);
310 if (bExistCAAction) 313 if (bExistCAAction)
311 { 314 {
312 CPDF_Action action = aa.GetAction(CPDF_AAction::ClosePage); 315 CPDF_Action action = aa.GetAction(CPDF_AAction::ClosePage);
313 pActionHandler->DoAction_Page(action, CPDF_AAction::ClosePage, p SDKDoc); 316 pActionHandler->DoAction_Page(action, CPDF_AAction::ClosePage, p SDKDoc);
314 } 317 }
315 } 318 }
316 } 319 }
317 } 320 }
OLDNEW
« no previous file with comments | « no previous file | fpdfsdk/src/fpdfformfill_embeddertest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698