Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 158513 Details for
Bug 225465
dev-lang/ruby <1.8.6_p287 Multiple vulnerabilities (CVE-2008-{1447,2662,2663,2664,2725,2726,2376,3655,3656,3657,3905})
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
ruby-1.8-revert15856.patch
ruby-1.8-revert15856.patch (text/plain), 3.31 KB, created by
Robert Buchholz (RETIRED)
on 2008-06-26 15:00:42 UTC
(
hide
)
Description:
ruby-1.8-revert15856.patch
Filename:
MIME Type:
Creator:
Robert Buchholz (RETIRED)
Created:
2008-06-26 15:00:42 UTC
Size:
3.31 KB
patch
obsolete
>$ svn diff -c -15856 http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8 > >Revert the following commit since it breaks Rails 2.0 >------------------------------------------------------------------------ >r15856 | matz | 2008-03-30 00:47:54 +0900 (Sun, 30 Mar 2008) | 2 lines >Changed paths: > M /branches/ruby_1_8/ChangeLog > M /branches/ruby_1_8/class.c > >* class.c (clone_method): should copy cref as well. > [ruby-core:15833] > > > >$ svn diff -c -15856 http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8 > >Revert the following commit since it breaks Rails 2.0 >------------------------------------------------------------------------ >r15856 | matz | 2008-03-30 00:47:54 +0900 (Sun, 30 Mar 2008) | 2 lines >Changed paths: > M /branches/ruby_1_8/ChangeLog > M /branches/ruby_1_8/class.c > >* class.c (clone_method): should copy cref as well. > [ruby-core:15833] > > > >Index: ruby-1.8.6-p230/class.c >=================================================================== >--- ruby-1.8.6-p230.orig/class.c >+++ ruby-1.8.6-p230/class.c >@@ -48,26 +48,13 @@ rb_class_new(super) > return rb_class_boot(super); > } > >-struct clone_method_data { >- st_table *tbl; >- VALUE klass; >-}; >- > static int >-clone_method(mid, body, data) >+clone_method(mid, body, tbl) > ID mid; > NODE *body; >- struct clone_method_data *data; >+ st_table *tbl; > { >- NODE *fbody = body->nd_body; >- >- if (fbody && nd_type(fbody) == NODE_SCOPE) { >- VALUE cref = data->klass ? >- (VALUE)NEW_NODE(NODE_CREF,data->klass,0,fbody->nd_rval) : >- fbody->nd_rval; >- fbody = NEW_NODE(NODE_SCOPE, fbody->nd_tbl, cref, fbody->nd_next); >- } >- st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex)); >+ st_insert(tbl, mid, (st_data_t)NEW_METHOD(body->nd_body, body->nd_noex)); > return ST_CONTINUE; > } > >@@ -78,8 +65,7 @@ rb_mod_init_copy(clone, orig) > { > rb_obj_init_copy(clone, orig); > if (!FL_TEST(CLASS_OF(clone), FL_SINGLETON)) { >- RBASIC(clone)->klass = RBASIC(orig)->klass; >- RBASIC(clone)->klass = rb_singleton_class_clone(clone); >+ RBASIC(clone)->klass = rb_singleton_class_clone(orig); > } > RCLASS(clone)->super = RCLASS(orig)->super; > if (RCLASS(orig)->iv_tbl) { >@@ -92,12 +78,9 @@ rb_mod_init_copy(clone, orig) > st_delete(RCLASS(clone)->iv_tbl, (st_data_t*)&id, 0); > } > if (RCLASS(orig)->m_tbl) { >- struct clone_method_data data; >- >- data.tbl = RCLASS(clone)->m_tbl = st_init_numtable(); >- data.klass = (VALUE)clone; >- >- st_foreach(RCLASS(orig)->m_tbl, clone_method, (st_data_t)&data); >+ RCLASS(clone)->m_tbl = st_init_numtable(); >+ st_foreach(RCLASS(orig)->m_tbl, clone_method, >+ (st_data_t)RCLASS(clone)->m_tbl); > } > > return clone; >@@ -143,22 +126,9 @@ rb_singleton_class_clone(obj) > if (RCLASS(klass)->iv_tbl) { > clone->iv_tbl = st_copy(RCLASS(klass)->iv_tbl); > } >- { >- struct clone_method_data data; >- >- data.tbl = clone->m_tbl = st_init_numtable(); >- switch (TYPE(obj)) { >- case T_CLASS: >- case T_MODULE: >- data.klass = obj; >- break; >- default: >- data.klass = 0; >- break; >- } >- >- st_foreach(RCLASS(klass)->m_tbl, clone_method, (st_data_t)&data); >- } >+ clone->m_tbl = st_init_numtable(); >+ st_foreach(RCLASS(klass)->m_tbl, clone_method, >+ (st_data_t)clone->m_tbl); > rb_singleton_class_attached(RBASIC(clone)->klass, (VALUE)clone); > FL_SET(clone, FL_SINGLETON); > return (VALUE)clone;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 225465
:
156407
|
157467
|
157469
|
158505
| 158513