From: "teleological (Riley Lynch)" Date: 2013-06-06T17:09:05+09:00 Subject: [ruby-core:55337] [ruby-trunk - Bug #8500][Open] date_core testing address not value of variable on stack Issue #8500 has been reported by teleological (Riley Lynch). ---------------------------------------- Bug #8500: date_core testing address not value of variable on stack https://bugs.ruby-lang.org/issues/8500 Author: teleological (Riley Lynch) Status: Open Priority: Normal Assignee: Category: ext Target version: ruby -v: ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-darwin12.3.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin This line appears ten times in date_core.c: decode_year(y, ns ? -1 : +1, &nth2, ry); The type of ns is int*, and it seems to always be populated with the address of a stack variable, with the effect that the condition is always true. It looks like the intent is to ensure that decode_year uses Gregorian years if the value ns is true, i.e.: decode_year(y, *ns ? -1 : +1, &nth2, ry); It may be the case that this code is unreachable: guess_style() would have to return zero and nth would have to be calculated to be greater or less than zero. Is there any way that could happen? =end -- http://bugs.ruby-lang.org/