Skip to content

Commit 74d9b86

Browse files
committed
Avoid undefined line in fromStringWithSourceMap
Avoid calling substr on `undefined` in `fromStringWithSourceMap`. This can happen when passing in a source map that refers to lines past the end of the passed-in string -- caller error, but let's not die. Fixes mozilla#247
1 parent 0275172 commit 74d9b86

8 files changed

+18
-18
lines changed

dist/source-map.debug.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/source-map.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2895,7 +2895,7 @@ return /******/ (function(modules) { // webpackBootstrap
28952895
// There is no new line in between.
28962896
// Associate the code between "lastGeneratedColumn" and
28972897
// "mapping.generatedColumn" with "lastMapping"
2898-
var nextLine = remainingLines[remainingLinesIndex];
2898+
var nextLine = remainingLines[remainingLinesIndex] || '';
28992899
var code = nextLine.substr(0, mapping.generatedColumn -
29002900
lastGeneratedColumn);
29012901
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -
@@ -2915,7 +2915,7 @@ return /******/ (function(modules) { // webpackBootstrap
29152915
lastGeneratedLine++;
29162916
}
29172917
if (lastGeneratedColumn < mapping.generatedColumn) {
2918-
var nextLine = remainingLines[remainingLinesIndex];
2918+
var nextLine = remainingLines[remainingLinesIndex] || '';
29192919
node.add(nextLine.substr(0, mapping.generatedColumn));
29202920
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
29212921
lastGeneratedColumn = mapping.generatedColumn;

dist/source-map.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/source-map.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/test/test_api.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/test/test_source_map_generator.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/test/test_source_node.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/source-node.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ SourceNode.fromStringWithSourceMap =
9797
// There is no new line in between.
9898
// Associate the code between "lastGeneratedColumn" and
9999
// "mapping.generatedColumn" with "lastMapping"
100-
var nextLine = remainingLines[remainingLinesIndex];
100+
var nextLine = remainingLines[remainingLinesIndex] || '';
101101
var code = nextLine.substr(0, mapping.generatedColumn -
102102
lastGeneratedColumn);
103103
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -
@@ -117,7 +117,7 @@ SourceNode.fromStringWithSourceMap =
117117
lastGeneratedLine++;
118118
}
119119
if (lastGeneratedColumn < mapping.generatedColumn) {
120-
var nextLine = remainingLines[remainingLinesIndex];
120+
var nextLine = remainingLines[remainingLinesIndex] || '';
121121
node.add(nextLine.substr(0, mapping.generatedColumn));
122122
remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
123123
lastGeneratedColumn = mapping.generatedColumn;

0 commit comments

Comments
 (0)