| 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 #ifndef _FX_BASIC_H_ | 7 #ifndef _FX_BASIC_H_ |
| 8 #define _FX_BASIC_H_ | 8 #define _FX_BASIC_H_ |
| 9 #ifndef _STDINT_H_ |
| 10 #define _STDINT_H_ |
| 11 #include <stdint.h> |
| 12 #endif |
| 9 #ifndef _FX_SYSTEM_H_ | 13 #ifndef _FX_SYSTEM_H_ |
| 10 #include "fx_system.h" | 14 #include "fx_system.h" |
| 11 #endif | 15 #endif |
| 12 #ifndef _FX_MEMORY_H_ | 16 #ifndef _FX_MEMORY_H_ |
| 13 #include "fx_memory.h" | 17 #include "fx_memory.h" |
| 14 #endif | 18 #endif |
| 15 #ifndef _FX_STRING_H_ | 19 #ifndef _FX_STRING_H_ |
| 16 #include "fx_string.h" | 20 #include "fx_string.h" |
| 17 #endif | 21 #endif |
| 18 #ifndef _FX_STREAM_H_ | 22 #ifndef _FX_STREAM_H_ |
| 19 #include "fx_stream.h" | 23 #include "fx_stream.h" |
| 20 #endif | 24 #endif |
| 25 |
| 21 class CFX_BinaryBuf : public CFX_Object | 26 class CFX_BinaryBuf : public CFX_Object |
| 22 { | 27 { |
| 23 public: | 28 public: |
| 24 | 29 |
| 25 CFX_BinaryBuf(IFX_Allocator* pAllocator = NULL); | 30 CFX_BinaryBuf(IFX_Allocator* pAllocator = NULL); |
| 26 | 31 |
| 27 CFX_BinaryBuf(FX_STRSIZE size, IFX_Allocator* pAllocator = NULL); | 32 CFX_BinaryBuf(FX_STRSIZE size, IFX_Allocator* pAllocator = NULL); |
| 28 | 33 |
| 29 ~CFX_BinaryBuf(); | 34 ~CFX_BinaryBuf(); |
| 30 | 35 |
| (...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 769 : m_pAllocator(pAllocator) | 774 : m_pAllocator(pAllocator) |
| 770 , m_pData(NULL) | 775 , m_pData(NULL) |
| 771 {} | 776 {} |
| 772 CFX_FixedBufGrow(int data_size, IFX_Allocator* pAllocator = NULL) | 777 CFX_FixedBufGrow(int data_size, IFX_Allocator* pAllocator = NULL) |
| 773 : m_pAllocator(pAllocator) | 778 : m_pAllocator(pAllocator) |
| 774 , m_pData(NULL) | 779 , m_pData(NULL) |
| 775 { | 780 { |
| 776 if (data_size > FixedSize) { | 781 if (data_size > FixedSize) { |
| 777 m_pData = FX_Allocator_Alloc(m_pAllocator, DataType, data_size); | 782 m_pData = FX_Allocator_Alloc(m_pAllocator, DataType, data_size); |
| 778 } else { | 783 } else { |
| 784 if (FixedSize > SIZE_MAX/sizeof(DataType)) |
| 785 return; |
| 786 |
| 779 FXSYS_memset32(m_Data, 0, sizeof(DataType)*FixedSize); | 787 FXSYS_memset32(m_Data, 0, sizeof(DataType)*FixedSize); |
| 780 } | 788 } |
| 781 } | 789 } |
| 782 void SetDataSize(int data_size) | 790 void SetDataSize(int data_size) |
| 783 { | 791 { |
| 784 if (m_pData) { | 792 if (m_pData) { |
| 785 FX_Allocator_Free(m_pAllocator, m_pData); | 793 FX_Allocator_Free(m_pAllocator, m_pData); |
| 786 } | 794 } |
| 787 m_pData = NULL; | 795 m_pData = NULL; |
| 788 if (data_size > FixedSize) { | 796 if (data_size > FixedSize) { |
| 789 m_pData = FX_Allocator_Alloc(m_pAllocator, DataType, data_size); | 797 m_pData = FX_Allocator_Alloc(m_pAllocator, DataType, data_size); |
| 790 } else { | 798 } else { |
| 799 |
| 800 if (FixedSize > SIZE_MAX/sizeof(DataType)) |
| 801 return; |
| 802 |
| 791 FXSYS_memset32(m_Data, 0, sizeof(DataType)*FixedSize); | 803 FXSYS_memset32(m_Data, 0, sizeof(DataType)*FixedSize); |
| 792 } | 804 } |
| 793 } | 805 } |
| 794 ~CFX_FixedBufGrow() | 806 ~CFX_FixedBufGrow() |
| 795 { | 807 { |
| 796 if (m_pData) { | 808 if (m_pData) { |
| 797 FX_Allocator_Free(m_pAllocator, m_pData); | 809 FX_Allocator_Free(m_pAllocator, m_pData); |
| 798 } | 810 } |
| 799 } | 811 } |
| 800 operator DataType*() | 812 operator DataType*() |
| (...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1633 Ready, | 1645 Ready, |
| 1634 ToBeContinued, | 1646 ToBeContinued, |
| 1635 Found, | 1647 Found, |
| 1636 NotFound, | 1648 NotFound, |
| 1637 Failed, | 1649 Failed, |
| 1638 Done | 1650 Done |
| 1639 } FX_ProgressiveStatus; | 1651 } FX_ProgressiveStatus; |
| 1640 #define ProgressiveStatus FX_ProgressiveStatus | 1652 #define ProgressiveStatus FX_ProgressiveStatus |
| 1641 #define FX_NAMESPACE_DECLARE(namespace, type) namespace::type | 1653 #define FX_NAMESPACE_DECLARE(namespace, type) namespace::type |
| 1642 #endif | 1654 #endif |
| OLD | NEW |