projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: assert() on null index_file in lttng_index_file_write()
[lttng-tools.git]
/
src
/
common
/
index
/
index.c
diff --git
a/src/common/index/index.c
b/src/common/index/index.c
index b5591d137c923a97617005f9a85145e09264cba4..c94ec701c869f2df3bf61e2845409d3c46697131 100644
(file)
--- 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 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;
ssize_t ret;
- int fd = index_file->fd;
- size_t len = index_file->element_len;
+ assert(index_file);
assert(element);
assert(element);
+ fd = index_file->fd;
+ len = index_file->element_len;
+
if (fd < 0) {
goto error;
}
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;
}
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;
index_file->fd = read_fd;
index_file->major = major;
This page took
0.024835 seconds
and
4
git commands to generate.