X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Findex%2Findex.c;h=c94ec701c869f2df3bf61e2845409d3c46697131;hb=0b0ac4a97d325a6938992f5c04987d5d48167a21;hp=b5591d137c923a97617005f9a85145e09264cba4;hpb=f8f3885cc52af9d3c951da78989d6f4a25270411;p=lttng-tools.git diff --git a/src/common/index/index.c b/src/common/index/index.c index b5591d137..c94ec701c 100644 --- a/src/common/index/index.c +++ b/src/common/index/index.c @@ -128,12 +128,16 @@ error: int lttng_index_file_write(const struct lttng_index_file *index_file, const struct ctf_packet_index *element) { + int fd; + size_t len; ssize_t ret; - int fd = index_file->fd; - size_t len = index_file->element_len; + assert(index_file); assert(element); + fd = index_file->fd; + len = index_file->element_len; + if (fd < 0) { goto error; } @@ -245,6 +249,10 @@ struct lttng_index_file *lttng_index_file_open(const char *path_name, ERR("Invalid header version"); goto error_close; } + if (element_len > sizeof(struct ctf_packet_index)) { + ERR("Index element length too long"); + goto error_close; + } index_file->fd = read_fd; index_file->major = major;