Heray-Was-Here
Server : Apache
System : Linux vps103298.mylogin.co 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : calvet ( 273824)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /proc/self/root/proc/thread-self/root/usr/local/rvm/patches/ruby/1.9.3/p362/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/proc/thread-self/root/usr/local/rvm/patches/ruby/1.9.3/p362/segfault_fix_7629.diff
--- a/vm.c  (revision 38725)
+++ b/vm.c  (revision 38726)
@@ -468,10 +468,18 @@
 }

 static VALUE vm_make_proc_from_block(rb_thread_t *th, rb_block_t *block);
+static VALUE vm_make_env_object(rb_thread_t * th, rb_control_frame_t *cfp, VALUE *blockprocptr);

 VALUE
 rb_vm_make_env_object(rb_thread_t * th, rb_control_frame_t *cfp)
 {
+    VALUE blockprocval;
+    return vm_make_env_object(th, cfp, &blockprocval);
+}
+
+static VALUE
+vm_make_env_object(rb_thread_t *th, rb_control_frame_t *cfp, VALUE *blockprocptr)
+{
     VALUE envval;
     VALUE *lfp;
     rb_block_t *blockptr;
@@ -489,6 +497,7 @@
  rb_proc_t *p;
  GetProcPtr(blockprocval, p);
  lfp[0] = GC_GUARDED_PTR(&p->block);
+ *blockprocptr = blockprocval;
     }

     envval = vm_make_env_each(th, cfp, cfp->dfp, cfp->lfp);
@@ -559,7 +568,7 @@
  rb_bug("rb_vm_make_proc: Proc value is already created.");
     }

-    envval = rb_vm_make_env_object(th, cfp);
+    envval = vm_make_env_object(th, cfp, &blockprocval);

     if (PROCDEBUG) {
  check_env_value(envval);

Hry