[#352] ruby 1.1a5 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

38 messages 1997/09/01
[#353] Re: ruby 1.1a5 released — keiju@... (石塚圭樹 ) 1997/09/01

[#354] Re: ruby 1.1a5 released — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#356] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#357] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/01

けいじゅ@日本ラショナルソフトウェアです.

[#359] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#363] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#374] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#376] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/02

けいじゅ@日本ラショナルソフトウェアです.

[#382] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#390] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/03

けいじゅ@日本ラショナルソフトウェアです.

[#391] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/03

まつもと ゆきひろです

[#441] How to report a bug — takagi@... (TAKAGI Hiromitsu)

Bus error が出ました。

15 messages 1997/09/09

[#461] [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...>

助田です

27 messages 1997/09/11
[#462] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#463] Re: [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...> 1997/09/11

助田です

[#464] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#467] Re: [Q] ruby-socket(mswin32) — WATANABE Hirofumi <watanabe@...> 1997/09/11

わたなべです.

[#594] BUG?(marshal) — Masaki Suketa <suke@...>

以下のプログラムを実行した時に(3)と(4)で出力結果が違います。

17 messages 1997/09/30

[ruby-dev:450] Re: How to report a bug

From: matz@... (Yukihiro Matsumoto)
Date: 1997-09-10 06:50:35 UTC
List: ruby-dev #450
まつもと ゆきひろです

In message "[ruby-dev:449] Re: How to report a bug"
    on 97/09/10, TAKAGI Hiromitsu <takagi@center.nitech.ac.jp> writes:

| > ruby のバージョンを替えてやってみるべきかもしれませんね…。
|
|といいつつやってみました。ruby 1.0-970701 での結果です。
|ちょうど debugging symbol が入ってました。
|また挙動が違っていて、marshal 関係が見えてきています。

これは多分marshalで出力したファイルが壊れているんでしょう.

|#3  0x2afac in xmalloc (size=4294967176) at gc.c:55
|#4  0x4a2c4 in str_new (
|    ptr=0xefffd178 "[JavaHouse-Brewers:12442] Re: JAVA=?ISO-2022-JP?B?GyRCJSIlVy
|VqJCskaSVWJWklJiU2JHJOKSRBJCIkMiRrSn0bKEI=?=\n法",
|    len=4294967175) at string.c:44

ここで4294967175bytes(4Gbytes)の文字列を読み込もうとしていま
す.marshalファイルの中の文字列の長さ情報がいかれているんで
しょうね.

落ちにくくするように以下のようなパッチを作ってみましたが,い
かがでしょう?
                                まつもと ゆきひろ /:|)

--- ext/marshal/marshal.c~	Mon Aug  4 16:38:36 1997
+++ ext/marshal/marshal.c	Wed Sep 10 15:41:53 1997
@@ -502,3 +502,3 @@
 
-static char 
+static int
 r_bytes0(sp, s, len, arg)
@@ -509,5 +509,8 @@
     if (arg->fp) {
-	fread(s, 1, len, arg->fp);
+	len = fread(s, 1, len, arg->fp);
     }
     else {
+	if (arg->ptr + len > arg->end) {
+	    len = arg->end - arg->ptr;
+	}
 	memcpy(s, arg->ptr, len);

In This Thread