[Bug #491] make$B$,(B"string contains null byte"$B$G<:GT$7$^$9(B

Bug #491: makee$B$,e(B"string contains null byte"e$B$G<:GT$7$^$9e(B
http://redmine.ruby-lang.org/issues/show/491

e$B5/I<<Te(B: Nobuhiro Tachino
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: Normal
e$B%+%F%4%je(B: core

e$BEaLn$H$$$$$^$9!#e(B

ia64 linuxe$B$Ge(Bruby
1.9e$B$Ne(Bmakee$B$,0J2<$N%a%C%;!<%8$G<:GT$7$^$9!#e(B

./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb
./enc/make_encdb.rb encdb.h.new ./enc enc
./tool/ifchange “encdb.h” “encdb.h.new”
encdb.h unchanged
/root/ruby/lib/fileutils.rb:967:in require': string contains null byte (ArgumentError) from /root/ruby/lib/fileutils.rb:967:in module:FileUtils
from /root/ruby/lib/fileutils.rb:85:in <top (required)>' from ./mkconfig.rb:11:in require’
from ./mkconfig.rb:11:in `’
make: *** [.rbconfig.time] Error 1

file_expand_path()e$B$NCf$Ne(BBUFCHECKe$B$G%P%C%U%!$,@5$7$/3HD%$5$l$J$$e(B
e$B>l9g$,$"$k$h$&$G$9!#%Q%C%A$r:n$C$F$_$^$7$?!#e(B

diff --git a/file.c b/file.c
index f2a6c46…f1ba684 100644
— a/file.c
+++ b/file.c
@@ -2729,8 +2729,7 @@ file_expand_path(VALUE fname, VALUE dname, VALUE
result)
if (p > buf && p[-1] == ‘/’)
–p;
else {

  • ++buflen;
  • BUFCHECK(bdiff >= buflen);
  • BUFCHECK(bdiff + 1 >= buflen);
    *p = ‘/’;
    }

e$B%A%1%C%He(B #491 e$B$,99?7$5$l$^$7$?!#e(B (by Yukihiro M.)

e$B%9%F!<%?%9e(B Opene$B$+$ie(BClosede$B$KJQ99e(B
e$B?JD=e(B % 0e$B$+$ie(B100e$B$KJQ99e(B

Applied in changeset r19201.

http://redmine.ruby-lang.org/issues/show/491