From dfcdc0315233019740d76448be68cad0292a6c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Fri, 25 Oct 2019 19:23:16 +0200 Subject: fix: handle malformed control buffers (#3202) --- cli/js/dispatch_json_test.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'cli/js/dispatch_json_test.ts') diff --git a/cli/js/dispatch_json_test.ts b/cli/js/dispatch_json_test.ts index 11dadc620..07549d295 100644 --- a/cli/js/dispatch_json_test.ts +++ b/cli/js/dispatch_json_test.ts @@ -1,4 +1,11 @@ -import { testPerm, assertMatch, unreachable } from "./test_util.ts"; +import { + test, + testPerm, + assert, + assertEquals, + assertMatch, + unreachable +} from "./test_util.ts"; const openErrorStackPattern = new RegExp( `^.* @@ -17,3 +24,14 @@ testPerm({ read: true }, async function sendAsyncStackTrace(): Promise { } ); }); + +test(async function malformedJsonControlBuffer(): Promise { + // @ts-ignore + const res = Deno.core.send(10, new Uint8Array([1, 2, 3, 4, 5])); + const resText = new TextDecoder().decode(res); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const resJson = JSON.parse(resText) as any; + assert(!resJson.ok); + assert(resJson.err); + assertEquals(resJson.err!.kind, Deno.ErrorKind.InvalidInput); +}); -- cgit v1.2.3