From 5993338ee378836f47ca31ee0a57a58e287d3a65 Mon Sep 17 00:00:00 2001 From: Max Burke Date: Sat, 29 Jan 2022 14:23:57 -0800 Subject: [PATCH] [ts] Builder incorrectly serializing empty strings (#7047) * [ts] Builder incorrectly serializing empty strings The builder was returning an offset of zero for empty strings. This is leading to flatbuffers which fail verification in other languages, such as Rust. * tests expect 0 offset for null or undefined strings --- ts/builder.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ts/builder.ts b/ts/builder.ts index 9e7a67e7a..a8c2d1ee6 100644 --- a/ts/builder.ts +++ b/ts/builder.ts @@ -522,8 +522,11 @@ export class Builder { * @param s The string to encode * @return The offset in the buffer where the encoded string starts */ - createString(s: string | Uint8Array): Offset { - if (!s) { return 0 } + createString(s: string | Uint8Array | null | undefined): Offset { + if (s === null || s === undefined) { + return 0; + } + let utf8: string | Uint8Array | number[]; if (s instanceof Uint8Array) { utf8 = s;