Selaa lähdekoodia

Avoid potential out-of-bounds on stacktrace capture

Signed-off-by: Robert Lin <robertlin1@gmail.com>
Robert Lin 6 vuotta sitten
vanhempi
commit
dc29d7750b
1 muutettua tiedostoa jossa 5 lisäystä ja 1 poistoa
  1. 5 1
      internal/core/logger.go

+ 5 - 1
internal/core/logger.go

@@ -75,5 +75,9 @@ func (d *DefaultLogger) logStacktraceToErr() {
 func captureStacktrace(skip int) []string {
 	stack := string(debug.Stack())
 	lines := strings.Split(stack, "\n")
-	return lines[2*skip+1:]
+	linesToSkip := 2*skip + 1
+	if linesToSkip > len(lines) {
+		return lines
+	}
+	return lines[linesToSkip:]
 }