ruby-cvs:24690
From: akr ruby-lang.org
Date: Fri, 20 Jun 2008 11:46:18 +0900 (JST)
Subject: [ruby-cvs:24690] Ruby:r17465 (trunk): * string.c (rb_memhash): randomize hash to avoid algorithmic
akr 2008-06-20 11:46:17 +0900 (Fri, 20 Jun 2008)
New Revision: 17465
Modified files:
trunk/ChangeLog
trunk/include/ruby/intern.h
trunk/inits.c
trunk/random.c
trunk/string.c
trunk/test/ruby/test_string.rb
trunk/thread.c
Log:
* string.c (rb_memhash): randomize hash to avoid algorithmic
complexity attacks.
(rb_str_hash): use rb_memhash.
* include/ruby/intern.h (rb_reset_random_seed): declared.
* thread.c (rb_thread_atfork): call rb_reset_random_seed.
* inits.c (rb_call_inits): call Init_RandomSeed at first.
* random.c (seed_initialized): defined.
(fill_random_seed): extracted from random_seed.
(make_seed_value): extracted from random_seed.
(rb_f_rand): initialize random seed at first.
(initial_seed): defined.
(Init_RandomSeed): defined.
(Init_RandomSeed2): defined.
(rb_reset_random_seed): defined.
(Init_Random): call Init_RandomSeed2.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_string.rb?r1=17465&r2=17464&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=17465&r2=17464&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=17465&r2=17464&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/thread.c?r1=17465&r2=17464&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/inits.c?r1=17465&r2=17464&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/random.c?r1=17465&r2=17464&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/include/ruby/intern.h?r1=17465&r2=17464&diff_format=u