[autoroll] Fix out-of-bounds in github repo manager

Change-Id: I2ccfded39305e2d25ca3a27a9c74c07a4dda9133
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/256022
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
diff --git a/autoroll/go/repo_manager/github_repo_manager.go b/autoroll/go/repo_manager/github_repo_manager.go
index 8f9d84a..b4020b3 100644
--- a/autoroll/go/repo_manager/github_repo_manager.go
+++ b/autoroll/go/repo_manager/github_repo_manager.go
@@ -244,14 +244,17 @@
 					filtered = append(filtered, notRolledRev)
 				}
 			}
-			notRolledRevs = filtered
 			// We may have filtered out tipRev. For consistency's sake, it
 			// needs to be in notRolledRevs, so pick the latest rev and use
 			// that.
-			if notRolledRevs[0].Id != tipRev.Id {
-				sklog.Warningf("Filtered out tip revision %s; using %s instead.", tipRev.Id, notRolledRevs[0].Id)
-				tipRev = notRolledRevs[0]
+			if len(filtered) == 0 {
+				sklog.Warningf("Filtered out tip revision %s, and no notRolledRevs remain; using last roll rev %s", tipRev.Id, lastRollRev.Id)
+				tipRev = lastRollRev
+			} else if filtered[0].Id != tipRev.Id {
+				sklog.Warningf("Filtered out tip revision %s; using %s instead.", tipRev.Id, filtered[0].Id)
+				tipRev = filtered[0]
 			}
+			notRolledRevs = filtered
 		}
 	}