X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Ffs-src%2Fdata-stream-file.c;h=4fe807bb90791227ba0a68a8df4614a7248ac5a8;hp=fe14f8cc3622d99fb0688ee894ff15d74d936b47;hb=c0b480d3f3773f0b3c8a10640fdaf51eb70b5e1e;hpb=71d8a83780bf2ab4902ce7e3a309a635bedfba14 diff --git a/src/plugins/ctf/fs-src/data-stream-file.c b/src/plugins/ctf/fs-src/data-stream-file.c index fe14f8cc..4fe807bb 100644 --- a/src/plugins/ctf/fs-src/data-stream-file.c +++ b/src/plugins/ctf/fs-src/data-stream-file.c @@ -648,6 +648,13 @@ struct ctf_fs_ds_index *build_index_from_idx_file( } file_index_entry_size = be32toh(header->packet_index_len); + if (file_index_entry_size < CTF_INDEX_1_0_SIZE) { + BT_COMP_LOGW("Invalid `packet_index_len` in LTTng trace index file (`packet_index_len` < CTF index 1.0 index entry size): " + "packet_index_len=%zu, CTF_INDEX_1_0_SIZE=%zu", + file_index_entry_size, CTF_INDEX_1_0_SIZE); + goto error; + } + file_entry_count = (filesize - sizeof(*header)) / file_index_entry_size; if ((filesize - sizeof(*header)) % file_index_entry_size) { BT_COMP_LOGW("Invalid LTTng trace index: the index's size after the header "