From: redmine@... Date: 2011-04-15T11:30:16+09:00 Subject: [ruby-core:35764] [Ruby 1.8 - Bug #4338][Assigned] random number generator not reseeded after fork in 1.8 Issue #4338 has been updated by Shyouhei Urabe. Status changed from Open to Assigned Assignee set to Shyouhei Urabe OK, now I consider this is a bug. To be fixed on the next patchlevel. Stay tuned. ---------------------------------------- Bug #4338: random number generator not reseeded after fork in 1.8 http://redmine.ruby-lang.org/issues/4338 Author: Eric Wong Status: Assigned Priority: Normal Assignee: Shyouhei Urabe Category: core Target version: Ruby 1.8.7 ruby -v: ruby 1.8.7 (2010-12-23 patchlevel 330) [x86_64-linux] rand should return different values in forked processes like in 1.9.2. This may have security implications for some programs. Remembering to call srand after forking will fix the issue, but remembering is hard especially since 1.9.2 makes it easy :) The following example prints out 3 identical lines in 1.8.7: fork { $stdout.syswrite("#{rand}\n") } fork { $stdout.syswrite("#{rand}\n") } $stdout.syswrite("#{rand}\n") Process.waitall -- http://redmine.ruby-lang.org