From 12367cb5e83e771cd67948c810fdd5f63d61af87 Mon Sep 17 00:00:00 2001 From: weili Date: Fri, 3 Jun 2016 11:22:16 -0700 Subject: Fix some code which causes warnings when compiled by /analyze tool The code may not cause error conditions, but can be improved. These warnings include uninitialized variables, signed/unsigned mismatch, redundant condition, and using bool in arithmetic operations. Also remove a chunk of unused code. BUG=chromium:613623, chromium:427616 Review-Url: https://codereview.chromium.org/2036203004 --- .../fpdf_parser_decode_embeddertest.cpp | 2 +- .../fpdf_parser/fpdf_parser_decode_unittest.cpp | 4 +- core/fxcodec/codec/fx_codec.cpp | 102 --------------------- core/fxcodec/codec/fx_codec_png.cpp | 2 +- core/fxcodec/jbig2/JBig2_Context.cpp | 2 +- 5 files changed, 5 insertions(+), 107 deletions(-) (limited to 'core') diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp index 4fd26b9153..308c9f11c9 100644 --- a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp +++ b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp @@ -73,7 +73,7 @@ TEST_F(FPDFParserDecodeEmbeddertest, FlateDecode) { for (size_t i = 0; i < FX_ArraySize(flate_decode_cases); ++i) { const pdfium::DecodeTestData& data = flate_decode_cases[i]; - unsigned char* result; + unsigned char* result = nullptr; unsigned int result_size; EXPECT_EQ(data.processed_size, FlateDecode(data.input, data.input_size, result, result_size)) diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp index 352e4ee15c..cd96c4a72a 100644 --- a/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp +++ b/core/fpdfapi/fpdf_parser/fpdf_parser_decode_unittest.cpp @@ -29,7 +29,7 @@ TEST(fpdf_parser_decode, A85Decode) { for (size_t i = 0; i < FX_ArraySize(test_data); ++i) { pdfium::DecodeTestData* ptr = &test_data[i]; uint8_t* result = nullptr; - uint32_t result_size; + uint32_t result_size = 0; EXPECT_EQ(ptr->processed_size, A85Decode(ptr->input, ptr->input_size, result, result_size)) << "for case " << i; @@ -64,7 +64,7 @@ TEST(fpdf_parser_decode, HexDecode) { for (size_t i = 0; i < FX_ArraySize(test_data); ++i) { pdfium::DecodeTestData* ptr = &test_data[i]; uint8_t* result = nullptr; - uint32_t result_size; + uint32_t result_size = 0; EXPECT_EQ(ptr->processed_size, HexDecode(ptr->input, ptr->input_size, result, result_size)) << "for case " << i; diff --git a/core/fxcodec/codec/fx_codec.cpp b/core/fxcodec/codec/fx_codec.cpp index f0f03ab0e9..997d61f25b 100644 --- a/core/fxcodec/codec/fx_codec.cpp +++ b/core/fxcodec/codec/fx_codec.cpp @@ -84,108 +84,6 @@ FX_BOOL CCodec_BasicModule::RunLengthEncode(const uint8_t* src_buf, return FALSE; } -#define EXPONENT_DETECT(ptr) \ - for (;; ptr++) { \ - if (!std::isdigit(*ptr)) { \ - if (endptr) \ - *endptr = (char*)ptr; \ - break; \ - } else { \ - exp_ret *= 10; \ - exp_ret += FXSYS_toDecimalDigit(*ptr); \ - continue; \ - } \ - } - -extern "C" double FXstrtod(const char* nptr, char** endptr) { - double ret = 0.0; - const char* ptr = nptr; - const char* exp_ptr = NULL; - int e_number = 0, e_signal = 0, e_point = 0, is_negative = 0; - int exp_ret = 0, exp_sig = 1, fra_ret = 0, fra_count = 0, fra_base = 1; - if (!nptr) { - return 0.0; - } - for (;; ptr++) { - if (!e_number && !e_point && (*ptr == '\t' || *ptr == ' ')) - continue; - - if (std::isdigit(*ptr)) { - if (!e_number) - e_number = 1; - - if (!e_point) { - ret *= 10; - ret += FXSYS_toDecimalDigit(*ptr); - } else { - fra_count++; - fra_ret *= 10; - fra_ret += FXSYS_toDecimalDigit(*ptr); - } - continue; - } - if (!e_point && *ptr == '.') { - e_point = 1; - continue; - } - if (!e_number && !e_point && !e_signal) { - switch (*ptr) { - case '-': - is_negative = 1; - case '+': - e_signal = 1; - continue; - } - } - if (e_number && (*ptr == 'e' || *ptr == 'E')) { - exp_ptr = ptr++; - if (*ptr == '+' || *ptr == '-') { - exp_sig = (*ptr++ == '+') ? 1 : -1; - if (!std::isdigit(*ptr)) { - if (endptr) { - *endptr = (char*)exp_ptr; - } - break; - } - EXPONENT_DETECT(ptr); - } else if (std::isdigit(*ptr)) { - EXPONENT_DETECT(ptr); - } else { - if (endptr) { - *endptr = (char*)exp_ptr; - } - break; - } - break; - } - if (ptr != nptr && !e_number) { - if (endptr) { - *endptr = (char*)nptr; - } - break; - } - if (endptr) { - *endptr = (char*)ptr; - } - break; - } - while (fra_count--) { - fra_base *= 10; - } - ret += (double)fra_ret / (double)fra_base; - if (exp_sig == 1) { - while (exp_ret--) { - ret *= 10.0; - } - } else { - while (exp_ret--) { - ret /= 10.0; - } - } - return is_negative ? -ret : ret; -} -#undef EXPONENT_DETECT - FX_BOOL CCodec_BasicModule::A85Encode(const uint8_t* src_buf, uint32_t src_size, uint8_t*& dest_buf, diff --git a/core/fxcodec/codec/fx_codec_png.cpp b/core/fxcodec/codec/fx_codec_png.cpp index 61d4cebdbb..f7b922973e 100644 --- a/core/fxcodec/codec/fx_codec_png.cpp +++ b/core/fxcodec/codec/fx_codec_png.cpp @@ -56,7 +56,7 @@ static void _png_load_bmp_attribute(png_structp png_ptr, if (t) { FXSYS_memset(pAttribute->m_strTime, 0, sizeof(pAttribute->m_strTime)); FXSYS_snprintf((FX_CHAR*)pAttribute->m_strTime, - sizeof(pAttribute->m_strTime), "%4d:%2d:%2d %2d:%2d:%2d", + sizeof(pAttribute->m_strTime), "%4u:%2u:%2u %2u:%2u:%2u", t->year, t->month, t->day, t->hour, t->minute, t->second); pAttribute->m_strTime[sizeof(pAttribute->m_strTime) - 1] = 0; bTime = 1; diff --git a/core/fxcodec/jbig2/JBig2_Context.cpp b/core/fxcodec/jbig2/JBig2_Context.cpp index a0a411fbcf..25c9ff7649 100644 --- a/core/fxcodec/jbig2/JBig2_Context.cpp +++ b/core/fxcodec/jbig2/JBig2_Context.cpp @@ -631,7 +631,7 @@ int32_t CJBig2_Context::parseSymbolDict(CJBig2_Segment* pSegment, return JBIG2_ERROR_FATAL; m_pStream->alignByte(); } - if (m_bIsGlobal && kSymbolDictCacheMaxSize > 0) { + if (m_bIsGlobal) { std::unique_ptr value = pSegment->m_Result.sd->DeepCopy(); int size = pdfium::CollectionSize(*m_pSymbolDictCache); -- cgit v1.2.3