From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24539 invoked by alias); 16 May 2002 00:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 24511 invoked by uid 71); 16 May 2002 00:36:01 -0000 Date: Wed, 15 May 2002 17:36:00 -0000 Message-ID: <20020516003601.24510.qmail@sources.redhat.com> To: bkoz@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Ed Hourigan" Subject: RE: libstdc++/6594: strstreambuf leaks 16 bytes - gcc 3.0.x Reply-To: "Ed Hourigan" X-SW-Source: 2002-05/txt/msg00433.txt.bz2 List-Id: The following reply was made to PR libstdc++/6594; it has been noted by GNATS. From: "Ed Hourigan" To: , , , , , , Cc: Subject: RE: libstdc++/6594: strstreambuf leaks 16 bytes - gcc 3.0.x Date: Wed, 15 May 2002 20:26:12 -0400 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 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