[#413] Should we check alloca ret val? — Michal Rokos <m.rokos@...>
Hi,
7 messages
2002/09/03
[#441] Patch to add a Module#const_missing method — JanArne.Petersen@... (Jan Arne Petersen)
Hi,
11 messages
2002/09/05
[#443] Re: Patch to add a Module#const_missing method
— matz@... (Yukihiro Matsumoto)
2002/09/06
Hi,
[#444] io_write()/fwrite() and EINTR on Solaris — Jos Backus <jos@...>
I am encountering a problem similar to the one mentioned here,
19 messages
2002/09/06
[#453] Re: io_write()/fwrite() and EINTR on Solaris
— nobu.nokada@...
2002/09/08
Hi,
[#454] Re: io_write()/fwrite() and EINTR on Solaris
— matz@... (Yukihiro Matsumoto)
2002/09/09
Hi
[#469] Re: io_write()/fwrite() and EINTR on Solaris
— Jos Backus <jos@...>
2002/09/09
On Mon, Sep 09, 2002 at 03:55:13PM +0900, Yukihiro Matsumoto wrote:
[#479] Re: io_write()/fwrite() and EINTR on Solaris
— Jos Backus <jos@...>
2002/09/10
On Tue, Sep 10, 2002 at 01:04:10AM +0900, Jos Backus wrote:
[#492] Re: io_write()/fwrite() and EINTR on Solaris
— Jos Backus <jos@...>
2002/09/21
On Wed, Sep 11, 2002 at 02:23:33AM +0900, Jos Backus wrote:
[#495] Re: io_write()/fwrite() and EINTR on Solaris
— nobu.nokada@...
2002/09/21
Hi,
[#496] Re: io_write()/fwrite() and EINTR on Solaris
— Jos Backus <jos@...>
2002/09/21
Hello,
[#564] Re: io_write()/fwrite() and EINTR on Solaris
— Jos Backus <jos@...>
2002/11/06
On Sun, Sep 22, 2002 at 04:24:31AM +0900, Jos Backus wrote:
[#566] Re: io_write()/fwrite() and EINTR on Solaris
— nobu.nokada@...
2002/11/07
Hi,
[#567] Re: io_write()/fwrite() and EINTR on Solaris
— Jos Backus <jos@...>
2002/11/07
On Thu, Nov 07, 2002 at 01:43:03PM +0900, nobu.nokada@softhome.net wrote:
[#568] Re: io_write()/fwrite() and EINTR on Solaris
— nobu.nokada@...
2002/11/07
Hi,
[#569] Re: io_write()/fwrite() and EINTR on Solaris
— Jos Backus <jos@...>
2002/11/07
On Thu, Nov 07, 2002 at 03:49:51PM +0900, nobu.nokada@softhome.net wrote:
[#449] ruby.h, string.c — Michal Rokos <m.rokos@...>
Hello,
7 messages
2002/09/06
[#459] Parse.y — Michal Rokos <m.rokos@...>
Hi,
6 messages
2002/09/09
[#461] Related to [Memleak] in sprintf.c — Michal Rokos <m.rokos@...>
Hi,
5 messages
2002/09/09
[#508] can java applications invoke ruby scripts?? — "John Davis" <javaccnews@...>
I want to know if Java applications can invoke ruby scripts?? In other
8 messages
2002/09/26
Re: [Memleak] in sprintf.c
From:
nobu.nokada@...
Date:
2002-09-09 09:58:56 UTC
List:
ruby-core #466
Hi,
At Mon, 9 Sep 2002 18:15:13 +0900,
Michal Rokos wrote:
> PS: Please note that it leaks when exception is raised!
Use rb_ensure() as Guy wrote, or use String.
It may be better to add rb_gc_force_recycle(result) at places
where you added free(buf).
Index: sprintf.c
===================================================================
RCS file: /cvs/ruby/src/ruby/sprintf.c,v
retrieving revision 1.25
diff -u -2 -p -r1.25 sprintf.c
--- sprintf.c 28 Aug 2002 08:05:23 -0000 1.25
+++ sprintf.c 9 Sep 2002 09:53:24 -0000
@@ -63,9 +63,11 @@ remove_sign_bits(str, base)
#define FPREC 64
-#define CHECK(l) \
+#define CHECK(l) do {\
while (blen + (l) >= bsiz) {\
- REALLOC_N(buf, char, bsiz*2);\
bsiz*=2;\
- }
+ }\
+ rb_str_resize(result, bsiz);\
+ buf = RSTRING(result)->ptr;\
+} while (0)
#define PUSH(s, l) do { \
@@ -123,5 +125,6 @@ rb_f_sprintf(argc, argv)
blen = 0;
bsiz = 120;
- buf = ALLOC_N(char, bsiz);
+ result = rb_str_buf_new(bsiz);
+ buf = RSTRING(result)->ptr;
for (; p < end; p++) {
@@ -580,6 +583,5 @@ rb_f_sprintf(argc, argv)
}
#endif
- result = rb_str_new(buf, blen);
- free(buf);
+ rb_str_resize(result, blen);
if (tainted) OBJ_TAINT(result);
--
Nobu Nakada