This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]