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]

libstdc++/10183: std::string - memory leak


>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


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