ctf: check version of LTTng trace index
[babeltrace.git] / src / plugins / ctf / fs-src / data-stream-file.c
index b9c3ae9e8f99b7fa20ea2d847055867b4bd7efbf..70f419022f9b4c91dfc4b2284f51ff59b5c1a70f 100644 (file)
@@ -303,6 +303,7 @@ struct ctf_fs_ds_index *build_index_from_idx_file(
        size_t i;
        struct ctf_stream_class *sc;
        struct ctf_msg_iter_packet_properties props;
+       uint32_t version_major, version_minor;
 
        BT_COMP_LOGI("Building index from .idx file of stream file %s",
                        ds_file->file->path->str);
@@ -373,6 +374,16 @@ struct ctf_fs_ds_index *build_index_from_idx_file(
                goto error;
        }
 
+       version_major = be32toh(header->index_major);
+       version_minor = be32toh(header->index_minor);
+       if (version_major != 1) {
+               BT_COMP_LOGW(
+                       "Unknown LTTng trace index version: "
+                       "major=%" PRIu32 ", minor=%" PRIu32,
+                       version_major, version_minor);
+               goto error;
+       }
+
        file_index_entry_size = be32toh(header->packet_index_len);
        file_entry_count = (filesize - sizeof(*header)) / file_index_entry_size;
        if ((filesize - sizeof(*header)) % file_index_entry_size) {
This page took 0.023493 seconds and 4 git commands to generate.