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.
This commit is contained in:
Julien Brianceau 2016-12-20 23:01:06 +01:00
parent d948b66d4f
commit 15a15e336b

View File

@ -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"