diff options
author | Vitaly Buka <vitalybuka@chromium.org> | 2015-07-13 18:01:12 -0700 |
---|---|---|
committer | Vitaly Buka <vitalybuka@chromium.org> | 2015-07-13 18:01:12 -0700 |
commit | f1e44aba7af6a0d6259bb5c34b96b7031414e5c3 (patch) | |
tree | b674a2fa1fe619de3ae0a5776a7783feb64d81cf | |
parent | cc2323f0d0d626edac4a426097eb38b53ba54848 (diff) | |
download | pdfium-f1e44aba7af6a0d6259bb5c34b96b7031414e5c3.tar.xz |
Merge: Make CJBig2_Object::operator delete accept nullptr
Standard delete operator should do noting for nullptr.
Overloaded CJBig2_Object::operator delete de-referenced
provided pointer causing crashes after
https://codereview.chromium.org/1192743004/
TBR=thestig@chromium.org
BUG=508197
Review URL: https://codereview.chromium.org/1230763007 .
(cherry picked from commit aa575d4805bf7a9e83f00b56e38d4de39d90f95c)
Review URL: https://codereview.chromium.org/1230773004.
-rw-r--r-- | core/src/fxcodec/jbig2/JBig2_Object.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/src/fxcodec/jbig2/JBig2_Object.cpp b/core/src/fxcodec/jbig2/JBig2_Object.cpp index 1429a91644..ae544d72d5 100644 --- a/core/src/fxcodec/jbig2/JBig2_Object.cpp +++ b/core/src/fxcodec/jbig2/JBig2_Object.cpp @@ -1,7 +1,7 @@ // Copyright 2014 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. - + // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #include "JBig2_Object.h" @@ -26,7 +26,9 @@ void *CJBig2_Object::operator new(size_t size, CJBig2_Module *pModule) } void CJBig2_Object::operator delete(void *p) { - ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); + if (p) { + ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); + } } void CJBig2_Object::operator delete(void *p, CJBig2_Module *pModule) { @@ -64,7 +66,9 @@ void *CJBig2_Object::operator new[](size_t size, CJBig2_Module *pModule, size_t } void CJBig2_Object::operator delete[](void* p) { - ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); + if (p) { + ((CJBig2_Object *)p)->m_pModule->JBig2_Free(p); + } } void CJBig2_Object::operator delete[](void *p, CJBig2_Module *pModule, size_t unit_size) { |