lib/ignore: Don't crash in partial #include line (ref #5985) (#5986)

If the line is just "#include" with nothing following it we would crash
with an index out of bounds error. Now it's a little more careful.
This commit is contained in:
Jakob Borg
2019-08-30 10:36:31 +01:00
committed by Simon Frei
parent fe50f1a158
commit 60c07b259e
2 changed files with 31 additions and 1 deletions

View File

@@ -1079,3 +1079,22 @@ func TestSpecialChars(t *testing.T) {
}
}
}
func TestPartialIncludeLine(t *testing.T) {
// Loading a partial #include line (no file mentioned) should error but not crash.
pats := New(fs.NewFilesystem(fs.FilesystemTypeBasic, "."), WithCache(true))
cases := []string{
"#include",
"#include\n",
"#include ",
"#include \n",
"#include \n\n\n",
}
for _, tc := range cases {
if err := pats.Parse(bytes.NewBufferString(tc), ".stignore"); err == nil {
t.Fatal("should error out")
}
}
}