X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Flttng-bytecode.c;h=a7b9129aca580bd562fc7dd61b05f6384ab5cd3a;hb=d3bcf08882e17952dfddc07a1c0c2767f38f18da;hp=9a71a80c033643b3c6e7381b30a4e92390d9d18e;hpb=07aafa15e9c655db53f575f7b9c8ea30ec7f6e26;p=lttng-modules.git diff --git a/src/lttng-bytecode.c b/src/lttng-bytecode.c index 9a71a80c..a7b9129a 100644 --- a/src/lttng-bytecode.c +++ b/src/lttng-bytecode.c @@ -472,6 +472,11 @@ int link_bytecode(const struct lttng_kernel_event_desc *event_desc, runtime->len = bytecode->bc.reloc_offset; /* copy original bytecode */ memcpy(runtime->code, bytecode->bc.data, runtime->len); + /* Validate bytecode load instructions before relocs. */ + ret = lttng_bytecode_validate_load(runtime); + if (ret) { + goto link_error; + } /* * apply relocs. Those are a uint16_t (offset in bytecode) * followed by a string (field name).