Detect log files without a header earlier

Waiting makes it harder to figure out what actually was wrong.

Change-Id: I8a57aa692db7559b613ca04cf68431e061bb6990
diff --git a/aos/events/logging/logger.cc b/aos/events/logging/logger.cc
index 7d0040c..134c202 100644
--- a/aos/events/logging/logger.cc
+++ b/aos/events/logging/logger.cc
@@ -35,7 +35,16 @@
 
 namespace aos {
 namespace logger {
+namespace {
+// Helper to safely read a header, or CHECK.
+FlatbufferVector<LogFileHeader> MaybeReadHeaderOrDie(
+    const std::vector<std::vector<std::string>> &filenames) {
+  CHECK_GE(filenames.size(), 1u) << ": Empty filenames list";
+  CHECK_GE(filenames[0].size(), 1u) << ": Empty filenames list";
+  return ReadHeader(filenames[0][0]);
+}
 namespace chrono = std::chrono;
+}  // namespace
 
 Logger::Logger(EventLoop *event_loop, const Configuration *configuration,
                std::function<bool(const Channel *)> should_log)
@@ -716,7 +725,7 @@
 LogReader::LogReader(const std::vector<std::vector<std::string>> &filenames,
                      const Configuration *replay_configuration)
     : filenames_(filenames),
-      log_file_header_(ReadHeader(filenames[0][0])),
+      log_file_header_(MaybeReadHeaderOrDie(filenames)),
       replay_configuration_(replay_configuration) {
   MakeRemappedConfig();