From e4ad2a5a8907a9118f285eb39622bd0574fd1958 Mon Sep 17 00:00:00 2001 From: Ryan Hendrickson Date: Mon, 20 Nov 2017 19:24:55 -0500 Subject: [PATCH] fix(lockfile): prevent infinite loop Fix bug where yarn could get into an infinite loop when parsing a corrupted lockfile with an unterminated string. --- src/lockfile/parse.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lockfile/parse.js b/src/lockfile/parse.js index 65ea9297bb..2348746063 100644 --- a/src/lockfile/parse.js +++ b/src/lockfile/parse.js @@ -94,7 +94,7 @@ function* tokenise(input: string): Iterator { } } else if (input[0] === '"') { let i = 1; - for (; ; i++) { + for (; i < input.length; i++) { if (input[i] === '"') { const isEscaped = input[i - 1] === '\\' && input[i - 2] !== '\\'; if (!isEscaped) {