diff options
author | Julien Brianceau <jbriance@cisco.com> | 2016-12-20 23:01:06 +0100 |
---|---|---|
committer | Julien Brianceau <jbriance@cisco.com> | 2016-12-21 22:48:58 +0100 |
commit | 15a15e336b0295abaf3e06adc9c32807455a8368 (patch) | |
tree | 62b684987b000d3388fe2b0e6e14a0522412cf56 /src | |
parent | d948b66d4f4f41e438981f49ad4668ab0ba6ab0a (diff) | |
download | protobuf-15a15e336b0295abaf3e06adc9c32807455a8368.tar.gz protobuf-15a15e336b0295abaf3e06adc9c32807455a8368.tar.bz2 protobuf-15a15e336b0295abaf3e06adc9c32807455a8368.zip |
Init index_in_metadata_ without condition
Chromium MemorySanitizer (MSan) reports use-of-uninitialized-value
of index_in_metadata_ attribute from EnumGenerator class. Fix these
warnings by initializing these attributes without condition.
Diffstat (limited to 'src')
-rw-r--r-- | src/google/protobuf/compiler/cpp/cpp_file.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/google/protobuf/compiler/cpp/cpp_file.cc b/src/google/protobuf/compiler/cpp/cpp_file.cc index d8fda59c..9cfd6ec6 100644 --- a/src/google/protobuf/compiler/cpp/cpp_file.cc +++ b/src/google/protobuf/compiler/cpp/cpp_file.cc @@ -289,6 +289,18 @@ void FileGenerator::GenerateSource(io::Printer* printer) { "classname", message_generators_[i]->classname_); } + for (int i = 0; i < message_generators_.size(); i++) { + message_generators_[i]->index_in_metadata_ = i; + } + for (int i = 0; i < enum_generators_.size(); i++) { + enum_generators_[i]->index_in_metadata_ = i; + } + if (HasGenericServices(file_, options_)) { + for (int i = 0; i < service_generators_.size(); i++) { + service_generators_[i]->index_in_metadata_ = i; + } + } + if (HasDescriptorMethods(file_, options_)) { printer->Print( "\n" @@ -313,17 +325,8 @@ void FileGenerator::GenerateSource(io::Printer* printer) { } for (int i = 0; i < message_generators_.size(); i++) { - message_generators_[i]->index_in_metadata_ = i; message_generators_[i]->GenerateDescriptorDeclarations(printer); } - for (int i = 0; i < enum_generators_.size(); i++) { - enum_generators_[i]->index_in_metadata_ = i; - } - if (HasGenericServices(file_, options_)) { - for (int i = 0; i < service_generators_.size(); i++) { - service_generators_[i]->index_in_metadata_ = i; - } - } printer->Print( "\n" |