From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21519 invoked by alias); 21 Mar 2003 14:06:00 -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 21500 invoked by uid 71); 21 Mar 2003 14:06:00 -0000 Resent-Date: 21 Mar 2003 14:06:00 -0000 Resent-Message-ID: <20030321140600.21498.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, dmitry_belous@ua.fm Received: (qmail 21106 invoked by uid 48); 21 Mar 2003 14:02:15 -0000 Message-Id: <20030321140215.21105.qmail@sources.redhat.com> Date: Fri, 21 Mar 2003 14:06:00 -0000 From: dmitry_belous@ua.fm Reply-To: dmitry_belous@ua.fm To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: libstdc++/10183: std::string - memory leak X-SW-Source: 2003-03/txt/msg01394.txt.bz2 List-Id: >Number: 10183 >Category: libstdc++ >Synopsis: std::string - memory leak >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Mar 21 14:06:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Dmitry Belous >Release: 3.2.3 >Organization: >Environment: >Description: $ g++ -o test test.cpp $ ./test array alloc throw(bad_alloc) 4 byte(s), point 0x804a7b8 array free point 0x804a7b8 alloc throw(bad_alloc) 640 byte(s), point 0x804a7b8 destructor string::~string not free memory >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="test.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test.cpp" I2luY2x1ZGUgPG5ldz4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNs dWRlIDxjc3RkbGliPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxtYXA+Cgp2b2lkKiBv cGVyYXRvciBuZXcoc3RkOjpzaXplX3Qgc3opIHRocm93KHN0ZDo6YmFkX2FsbG9jKQp7CiAgICBz dGQ6OmNlcnIgPDwgImFsbG9jIHRocm93KGJhZF9hbGxvYykgIiA8PCBzeiA8PCAiIGJ5dGUocyks ICI7CiAgICB2b2lkKiByZXMgPSBzdGQ6Om1hbGxvYyhzeik7CiAgICBpZiAocmVzID09IDApIHRo cm93IHN0ZDo6YmFkX2FsbG9jKCk7CiAgICBzdGQ6OmNlcnIgPDwgInBvaW50ICIgPDwgcmVzIDw8 IHN0ZDo6ZW5kbDsKICAgIHJldHVybiByZXM7Cn0KCnZvaWQqIG9wZXJhdG9yIG5ld1tdKHN0ZDo6 c2l6ZV90IHN6KSB0aHJvdyhzdGQ6OmJhZF9hbGxvYykKewogICAgc3RkOjpjZXJyIDw8ICJhcnJh eSAiOwogICAgcmV0dXJuIG9wZXJhdG9yIG5ldyhzeik7Cn0KCnZvaWQgb3BlcmF0b3IgZGVsZXRl KHZvaWQqIHApIHRocm93KCkKewogICAgc3RkOjpjZXJyIDw8ICJmcmVlIHBvaW50ICIgPDwgcCA8 PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmZyZWUocCk7Cn0KCnZvaWQgb3BlcmF0b3IgZGVsZXRlW10o dm9pZCogcCkgdGhyb3coKQp7CiAgICBzdGQ6OmNlcnIgPDwgImFycmF5ICI7CiAgICBvcGVyYXRv ciBkZWxldGUocCk7Cn0KCnZvaWQqIG9wZXJhdG9yIG5ldyhzdGQ6OnNpemVfdCBzeiwgY29uc3Qg c3RkOjpub3Rocm93X3QmKSB0aHJvdygpCnsKICAgIHN0ZDo6Y2VyciA8PCAiYWxsb2MgdGhyb3co KSAiIDw8IHN6IDw8ICIgYnl0ZShzKSwgIjsKICAgIHZvaWQqIHJlcyA9IHN0ZDo6bWFsbG9jKHN6 KTsKICAgIHN0ZDo6Y2VyciA8PCAicG9pbnQgIiA8PCByZXMgPDwgc3RkOjplbmRsOwogICAgcmV0 dXJuIHJlczsKfQoKdm9pZCogb3BlcmF0b3IgbmV3W10oc3RkOjpzaXplX3Qgc3osIGNvbnN0IHN0 ZDo6bm90aHJvd190JikgdGhyb3coKQp7CiAgICBzdGQ6OmNlcnIgPDwgImFycmF5ICI7CiAgICBy ZXR1cm4gb3BlcmF0b3IgbmV3KHN6KTsKfQoKdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCwg Y29uc3Qgc3RkOjpub3Rocm93X3QmKSB0aHJvdygpCnsKICAgIHN0ZDo6Y2VyciA8PCAiZnJlZSBw b2ludCAiIDw8IHAgPDwgc3RkOjplbmRsOwogICAgc3RkOjpmcmVlKHApOwp9Cgp2b2lkIG9wZXJh dG9yIGRlbGV0ZVtdKHZvaWQqIHAsIGNvbnN0IHN0ZDo6bm90aHJvd190JikgdGhyb3coKQp7CiAg ICBzdGQ6OmNlcnIgPDwgImFycmF5ICI7CiAgICByZXR1cm4gb3BlcmF0b3IgZGVsZXRlKHApOwp9 Cgp2b2lkIGYoKQp7CiAgICBzdGQ6Om1hcDxpbnQsIGludD4gbTsKICAgIGZvciAoaW50IGkgPSAw OyBpIDwgMTAwOyBpKyspCiAgICAgICAgbVtpXSA9IGk7Cn0KCmludCBtYWluKCkKewogICAgY29u c3QgY2hhciogb3JpZyA9ICJ0ZXN0IjsKICAgIGNoYXIqIG5hbWUgPSBuZXcoY2hhcltzdGQ6OnN0 cmxlbihvcmlnKV0pOwogICAgZGVsZXRlIFtdIChuYW1lKTsKICAgIHN0ZDo6c3RyaW5nIHN0cjE7 CiAgICBzdHIxID0gIjExIjsKICAgIHN0cjEgKz0gIjIyIjsKICAgIHN0ZDo6c3RyaW5nIHN0cjI7 CiAgICBzdHIyID0gc3RyMTsKICAgIHN0cjIgKz0gIjExIjsKICAgIHN0cjEgKz0gIjIyIjsKICAg IHN0ZDo6bWFwPGludCwgaW50PiBtOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDA7IGkrKykK ICAgICAgICBtW2ldID0gaTsKICAgIGYoKTsKICAgIHJldHVybiBtWzEwMF07Cn0K