Fix: bytecode validator: reject specialized load field/context ref instructions
[lttng-modules.git] / src / lttng-bytecode.c
index 9a71a80c033643b3c6e7381b30a4e92390d9d18e..a7b9129aca580bd562fc7dd61b05f6384ab5cd3a 100644 (file)
@@ -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).
This page took 0.023434 seconds and 4 git commands to generate.