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

Side by Side Diff: core/fxcodec/codec/fx_codec_flate.cpp

Issue 2032613003: Get rid of NULLs in core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: Fix a bad merge Created 4 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 unified diff | Download patch
« no previous file with comments | « core/fxcodec/codec/fx_codec_fax.cpp ('k') | core/fxcodec/codec/fx_codec_gif.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 "core/fxcodec/codec/codec_int.h" 7 #include "core/fxcodec/codec/codec_int.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 uint8_t* m_pPredictRaw; 641 uint8_t* m_pPredictRaw;
642 int m_Predictor; 642 int m_Predictor;
643 int m_Colors; 643 int m_Colors;
644 int m_BitsPerComponent; 644 int m_BitsPerComponent;
645 int m_Columns; 645 int m_Columns;
646 uint32_t m_PredictPitch; 646 uint32_t m_PredictPitch;
647 size_t m_LeftOver; 647 size_t m_LeftOver;
648 }; 648 };
649 649
650 CCodec_FlateScanlineDecoder::CCodec_FlateScanlineDecoder() { 650 CCodec_FlateScanlineDecoder::CCodec_FlateScanlineDecoder() {
651 m_pFlate = NULL; 651 m_pFlate = nullptr;
652 m_pScanline = NULL; 652 m_pScanline = nullptr;
653 m_pLastLine = NULL; 653 m_pLastLine = nullptr;
654 m_pPredictBuffer = NULL; 654 m_pPredictBuffer = nullptr;
655 m_pPredictRaw = NULL; 655 m_pPredictRaw = nullptr;
656 m_LeftOver = 0; 656 m_LeftOver = 0;
657 } 657 }
658 CCodec_FlateScanlineDecoder::~CCodec_FlateScanlineDecoder() { 658 CCodec_FlateScanlineDecoder::~CCodec_FlateScanlineDecoder() {
659 FX_Free(m_pScanline); 659 FX_Free(m_pScanline);
660 FX_Free(m_pLastLine); 660 FX_Free(m_pLastLine);
661 FX_Free(m_pPredictBuffer); 661 FX_Free(m_pPredictBuffer);
662 FX_Free(m_pPredictRaw); 662 FX_Free(m_pPredictRaw);
663 if (m_pFlate) { 663 if (m_pFlate) {
664 FPDFAPI_FlateEnd(m_pFlate); 664 FPDFAPI_FlateEnd(m_pFlate);
665 } 665 }
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 const uint8_t* src_buf, 792 const uint8_t* src_buf,
793 uint32_t src_size, 793 uint32_t src_size,
794 FX_BOOL bEarlyChange, 794 FX_BOOL bEarlyChange,
795 int predictor, 795 int predictor,
796 int Colors, 796 int Colors,
797 int BitsPerComponent, 797 int BitsPerComponent,
798 int Columns, 798 int Columns,
799 uint32_t estimated_size, 799 uint32_t estimated_size,
800 uint8_t*& dest_buf, 800 uint8_t*& dest_buf,
801 uint32_t& dest_size) { 801 uint32_t& dest_size) {
802 dest_buf = NULL; 802 dest_buf = nullptr;
803 uint32_t offset = 0; 803 uint32_t offset = 0;
804 int predictor_type = 0; 804 int predictor_type = 0;
805 if (predictor) { 805 if (predictor) {
806 if (predictor >= 10) { 806 if (predictor >= 10) {
807 predictor_type = 2; 807 predictor_type = 2;
808 } else if (predictor == 2) { 808 } else if (predictor == 2) {
809 predictor_type = 1; 809 predictor_type = 1;
810 } 810 }
811 } 811 }
812 if (bLZW) { 812 if (bLZW) {
813 { 813 {
814 std::unique_ptr<CLZWDecoder> decoder(new CLZWDecoder); 814 std::unique_ptr<CLZWDecoder> decoder(new CLZWDecoder);
815 dest_size = (uint32_t)-1; 815 dest_size = (uint32_t)-1;
816 offset = src_size; 816 offset = src_size;
817 int err = decoder->Decode(NULL, dest_size, src_buf, offset, bEarlyChange); 817 int err =
818 decoder->Decode(nullptr, dest_size, src_buf, offset, bEarlyChange);
818 if (err || dest_size == 0 || dest_size + 1 < dest_size) { 819 if (err || dest_size == 0 || dest_size + 1 < dest_size) {
819 return FX_INVALID_OFFSET; 820 return FX_INVALID_OFFSET;
820 } 821 }
821 } 822 }
822 { 823 {
823 std::unique_ptr<CLZWDecoder> decoder(new CLZWDecoder); 824 std::unique_ptr<CLZWDecoder> decoder(new CLZWDecoder);
824 dest_buf = FX_Alloc(uint8_t, dest_size + 1); 825 dest_buf = FX_Alloc(uint8_t, dest_size + 1);
825 dest_buf[dest_size] = '\0'; 826 dest_buf[dest_size] = '\0';
826 decoder->Decode(dest_buf, dest_size, src_buf, offset, bEarlyChange); 827 decoder->Decode(dest_buf, dest_size, src_buf, offset, bEarlyChange);
827 } 828 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 uint32_t src_size, 861 uint32_t src_size,
861 uint8_t** dest_buf, 862 uint8_t** dest_buf,
862 uint32_t* dest_size) { 863 uint32_t* dest_size) {
863 uint8_t* pSrcBuf = FX_Alloc(uint8_t, src_size); 864 uint8_t* pSrcBuf = FX_Alloc(uint8_t, src_size);
864 FXSYS_memcpy(pSrcBuf, src_buf, src_size); 865 FXSYS_memcpy(pSrcBuf, src_buf, src_size);
865 PNG_PredictorEncode(&pSrcBuf, &src_size); 866 PNG_PredictorEncode(&pSrcBuf, &src_size);
866 bool ret = Encode(pSrcBuf, src_size, dest_buf, dest_size); 867 bool ret = Encode(pSrcBuf, src_size, dest_buf, dest_size);
867 FX_Free(pSrcBuf); 868 FX_Free(pSrcBuf);
868 return ret; 869 return ret;
869 } 870 }
OLDNEW
« no previous file with comments | « core/fxcodec/codec/fx_codec_fax.cpp ('k') | core/fxcodec/codec/fx_codec_gif.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698