C++ verifier for evolved union fields should return true (#5586)
authorDerek Bailey <dbaileychess@gmail.com>
Mon, 28 Oct 2019 16:43:33 +0000 (09:43 -0700)
committerWouter van Oortmerssen <aardappel@gmail.com>
Mon, 28 Oct 2019 16:43:33 +0000 (09:43 -0700)
samples/monster_generated.h
src/idl_gen_cpp.cpp
tests/monster_test_generated.h
tests/union_vector/union_vector_generated.h

index 50ce9c0..ec2c24c 100644 (file)
@@ -655,7 +655,7 @@ inline bool VerifyEquipment(flatbuffers::Verifier &verifier, const void *obj, Eq
       auto ptr = reinterpret_cast<const MyGame::Sample::Weapon *>(obj);
       return verifier.VerifyTable(ptr);
     }
-    default: return false;
+    default: return true;
   }
 }
 
index 505fdaa..826f646 100644 (file)
@@ -1295,7 +1295,7 @@ class CppGenerator : public BaseGenerator {
         code_ += "    }";
       }
     }
-    code_ += "    default: return false;";
+    code_ += "    default: return true;"; // unknown values are OK.
     code_ += "  }";
     code_ += "}";
     code_ += "";
index d1b5c38..c802a68 100644 (file)
@@ -2801,7 +2801,7 @@ inline bool VerifyAny(flatbuffers::Verifier &verifier, const void *obj, Any type
       auto ptr = reinterpret_cast<const MyGame::Example2::Monster *>(obj);
       return verifier.VerifyTable(ptr);
     }
-    default: return false;
+    default: return true;
   }
 }
 
@@ -2912,7 +2912,7 @@ inline bool VerifyAnyUniqueAliases(flatbuffers::Verifier &verifier, const void *
       auto ptr = reinterpret_cast<const MyGame::Example2::Monster *>(obj);
       return verifier.VerifyTable(ptr);
     }
-    default: return false;
+    default: return true;
   }
 }
 
@@ -3023,7 +3023,7 @@ inline bool VerifyAnyAmbiguousAliases(flatbuffers::Verifier &verifier, const voi
       auto ptr = reinterpret_cast<const MyGame::Example::Monster *>(obj);
       return verifier.VerifyTable(ptr);
     }
-    default: return false;
+    default: return true;
   }
 }
 
index ad32194..fcb1d8c 100644 (file)
@@ -563,7 +563,7 @@ inline bool VerifyCharacter(flatbuffers::Verifier &verifier, const void *obj, Ch
       auto ptr = reinterpret_cast<const flatbuffers::String *>(obj);
       return verifier.VerifyString(ptr);
     }
-    default: return false;
+    default: return true;
   }
 }