Perform nil check on string fields when packing (#7719)

Co-authored-by: Derek Bailey <derekbailey@google.com>
This commit is contained in:
Michael Le
2022-12-22 15:28:00 -05:00
committed by GitHub
parent 4e396d47bc
commit 96d438df47
3 changed files with 13 additions and 4 deletions

View File

@@ -1054,8 +1054,11 @@ class GoGenerator : public BaseGenerator {
const std::string offset = field_var + "Offset";
if (IsString(field.value.type)) {
code +=
"\t" + offset + " := builder.CreateString(t." + field_field + ")\n";
code += "\t" + offset + " := flatbuffers.UOffsetT(0)\n";
code += "\tif t." + field_field + " != \"\" {\n";
code += "\t\t" + offset + " = builder.CreateString(t." + field_field +
")\n";
code += "\t}\n";
} else if (IsVector(field.value.type) &&
field.value.type.element == BASE_TYPE_UCHAR &&
field.value.type.enum_def == nullptr) {