Sha256: 249e6f555ea70c43b35e1774cc6e007e08894b21b2020b8b16273e4ea681a5d5
Contents?: true
Size: 1.29 KB
Versions: 7
Compression:
Stored size: 1.29 KB
Contents
/* Copyright (c) 2020 Contrast Security, Inc. See * https://www.contrastsecurity.com/enduser-terms-0317a for more details. */ #include "cs__assess_kernel.h" #include "../cs__common/cs__common.h" #include <ruby.h> VALUE contrast_patched_kernel_exec(const int argc, const VALUE *argv, const VALUE self) { int nested_scope = RTEST(rb_funcall(contrast_patcher(), rb_sym_in_scope, 0)); if (!nested_scope && argc > 0) { rb_funcall(contrast_patcher(), rb_sym_enter_scope, 0); VALUE data = argv[0]; rb_funcall(kernel_propagator, exec_apply_trigger, 1, data); rb_funcall(contrast_patcher(), rb_sym_exit_scope, 0); } return rb_funcall(self, rb_intern("cs__assess_kernel_exec"), argc, *argv); } void Init_cs__assess_kernel(void) { kernel_propagator = rb_define_module("KernelPropagator"); exec_apply_trigger = rb_intern("apply_trigger"); VALUE singleton = rb_singleton_class(rb_mKernel); contrast_alias_method(rb_mKernel, "cs__assess_kernel_exec", "exec"); rb_define_private_method(rb_mKernel, "exec", contrast_patched_kernel_exec, -1); contrast_alias_method(singleton, "cs__assess_kernel_exec", "exec"); rb_define_method(singleton, "exec", contrast_patched_kernel_exec, -1); }
Version data entries
7 entries across 7 versions & 1 rubygems