This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
RE: libstdc++/6594: strstreambuf leaks 16 bytes - gcc 3.0.x
- From: "Ed Hourigan" <edh at twcny dot rr dot com>
- To: <bkoz at gcc dot gnu dot org>, <bkoz at gcc dot gnu dot org>, <edh at twcny dot rr dot com>, <gcc-bugs at gcc dot gnu dot org>, <gcc-prs at gcc dot gnu dot org>, <nobody at gcc dot gnu dot org>, <gcc-gnats at gcc dot gnu dot org>
- Date: Wed, 15 May 2002 20:26:12 -0400
- Subject: RE: libstdc++/6594: strstreambuf leaks 16 bytes - gcc 3.0.x
Yes, I am aware that it is deprecated. However, it is still used in quite a
lot of places.
Eventually, I will replace it with strinstream. But during this
'transition' period I still need to use it.
I will try your patch.
-----Original Message-----
From: bkoz@gcc.gnu.org [mailto:bkoz@gcc.gnu.org]
Sent: Wednesday, May 15, 2002 8:58 AM
To: bkoz@gcc.gnu.org; edh@twcny.rr.com; gcc-bugs@gcc.gnu.org;
gcc-prs@gcc.gnu.org; nobody@gcc.gnu.org
Subject: Re: libstdc++/6594: strstreambuf leaks 16 bytes - gcc 3.0.x
Synopsis: strstreambuf leaks 16 bytes - gcc 3.0.x
Responsible-Changed-From-To: unassigned->bkoz
Responsible-Changed-By: bkoz
Responsible-Changed-When: Wed May 15 05:57:30 2002
Responsible-Changed-Why:
Mine.
State-Changed-From-To: open->feedback
State-Changed-By: bkoz
State-Changed-When: Wed May 15 05:57:30 2002
State-Changed-Why:
So it does....
strstream.cc: 69 has
strstreambuf::strstreambuf(streamsize initial_capacity)
: _Base(),
_M_alloc_fun(0), _M_free_fun(0),
_M_dynamic(true), _M_frozen(false), _M_constant(false)
{
streamsize n = max(initial_capacity, streamsize(16));
char* buf = _M_alloc(n);
if (buf) {
setp(buf, buf + n);
setg(buf, buf, buf);
}
Wow.
Are you aware that this class has been deprecated by std::stringstream?
You might consider using it instead.
However, it turns out that the bug is pretty easy to fix. You might try
this, and let me know how it goes.
2002-05-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6594
* src/strstream.cc (strstreambuf): Fix leak.
The patch is here:
http://gcc.gnu.org/ml/gcc-patches/2002-05/msg01204.html
best,
benjamin
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p
r=6594