◐ Shell
clean mode source ↗

src: fix crash in GetErrorSource() for invalid using syntax · nodejs/node@b6219b6

Original file line numberDiff line numberDiff line change

@@ -150,8 +150,7 @@ static std::string GetErrorSource(Isolate* isolate,

150150

: 0;

151151

int start = message->GetStartColumn();

152152

int end = message->GetEndColumn();

153-

if (start >= script_start) {

154-

CHECK_GE(end, start);

153+

if (start >= script_start && end >= script_start) {

155154

start -= script_start;

156155

end -= script_start;

157156

}

@@ -161,8 +160,7 @@ static std::string GetErrorSource(Isolate* isolate,

161160

CHECK_GT(buf.size(), 0);

162161

*added_exception_line = true;

163162
164-

if (start > end ||

165-

start < 0 ||

163+

if (start > end || start < 0 || end < 0 ||

166164

static_cast<size_t>(end) > sourceline.size()) {

167165

return buf;

168166

}