diff --git a/python/flatbuffers/builder.py b/python/flatbuffers/builder.py index 3e7f3cebb..ed5097041 100644 --- a/python/flatbuffers/builder.py +++ b/python/flatbuffers/builder.py @@ -350,6 +350,8 @@ class Builder(object): def CreateString(self, s): """CreateString writes a null-terminated byte string as a vector.""" + self.assertNotNested() + if isinstance(s, compat.string_types): x = s.encode() elif isinstance(s, compat.binary_type): diff --git a/tests/py_test.py b/tests/py_test.py index ae389a153..4f3dae92e 100644 --- a/tests/py_test.py +++ b/tests/py_test.py @@ -1130,6 +1130,13 @@ class TestExceptions(unittest.TestCase): assertRaises(self, lambda: b.PrependUOffsetTRelative(1), flatbuffers.builder.OffsetArithmeticError) + def test_create_string_is_nested_error(self): + b = flatbuffers.Builder(0) + b.StartObject(0) + s = 'test1' + assertRaises(self, lambda: b.CreateString(s), + flatbuffers.builder.ObjectIsNestedError) + def CheckAgainstGoldDataGo(): try: