From 0d605987656a91cbc64c27deacf98e3f33c61d00 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Tue, 10 Jul 2018 10:02:45 +0200 Subject: [PATCH] safeguard list splice calls related to #53773 --- src/vs/base/browser/ui/list/listWidget.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/vs/base/browser/ui/list/listWidget.ts b/src/vs/base/browser/ui/list/listWidget.ts index d297818a787..acdcb44f5d8 100644 --- a/src/vs/base/browser/ui/list/listWidget.ts +++ b/src/vs/base/browser/ui/list/listWidget.ts @@ -929,6 +929,14 @@ export class List implements ISpliceable, IDisposable { } splice(start: number, deleteCount: number, elements: T[] = []): void { + if (start < 0 || start > this.view.length) { + throw new Error(`Invalid start index: ${start}`); + } + + if (deleteCount < 0) { + throw new Error(`Invalid delete count: ${deleteCount}`); + } + if (deleteCount === 0 && elements.length === 0) { return; }