diff --git a/pkg/builtin/builtin.go b/pkg/builtin/builtin.go index f8f44ba9..c17f2c80 100644 --- a/pkg/builtin/builtin.go +++ b/pkg/builtin/builtin.go @@ -489,6 +489,12 @@ func SysRead(_ context.Context, _ []string, input string, _ chan<- string) (stri if len(data) == 0 { return fmt.Sprintf("The file %s has no contents", params.Filename), nil } + + // Assume the file is not text if it contains a null byte + if bytes.IndexByte(data, 0) != -1 { + return fmt.Sprintf("The file %s cannot be read because it is not a plaintext file", params.Filename), nil + } + return string(data), nil }