From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18460 invoked by alias); 22 Nov 2013 20:02:38 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 18450 invoked by uid 89); 22 Nov 2013 20:02:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL,BAYES_50,RDNS_NONE,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-ie0-f181.google.com Received: from Unknown (HELO mail-ie0-f181.google.com) (209.85.223.181) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 22 Nov 2013 20:02:37 +0000 Received: by mail-ie0-f181.google.com with SMTP id e14so2864319iej.40 for ; Fri, 22 Nov 2013 12:02:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=um3lbpyKMRjJkyfcZFdKhKQ5WRmTg3lr59q49ZZpnD0=; b=R7HWca1RmUzU5JGorGWXxrWJju83Nt/z8TDCyTECbmdHHgXRvjek9mNMETUSUUoEBN zb9pwk8ZpWCTIo82BNJIMJkHNW1J425/dpx2MTn9wHQtDtcAINYrCp1LfSovycSv6GI+ lkuCQQ7jmC5KLwoB2tuqy0PIsXdeVvvjHdO2I14i2mbhFdHpoVbqLz2JSt2zz2PSqKIj jeu2rvsJ+PkZ0IPFEpqO0jVihH4cuPHgjCRSpnBk8N5q9xnmzy631Lc6NPefYllgN546 yO5zXwJHlNmMG6T/df+e8UChG9s37QFrkfkaeZgqF4GHggd8L5vOKnr0u+H62mFqjkOx snIQ== X-Gm-Message-State: ALoCoQnYX/EbMi6bAxnKKQoN7QU0CoOWzoaHXe1gyY0RxxtGGY778uhXJPbtMB2vEF0X/LIbb2OP6sMpWMfs8CWiBiOlz+1uNmu85xtYmqRxE06kSS0Kgub2CWfQlfhKkFGunKpd0DB65L/xuOS8oYzN1DiQlIUu5VXWiwOuG7XcP3FZEtyjTQyqfJ4hg9D8Tgsu+wvDE0iNJMAhELPuZx0oX77J3rR2xw== MIME-Version: 1.0 X-Received: by 10.50.30.42 with SMTP id p10mr3800116igh.5.1385150549325; Fri, 22 Nov 2013 12:02:29 -0800 (PST) Received: by 10.64.18.200 with HTTP; Fri, 22 Nov 2013 12:02:28 -0800 (PST) Date: Fri, 22 Nov 2013 20:35:00 -0000 Message-ID: Subject: Fix for pr16196: Honor fetch limit for strings of known size From: Sterling Augustine To: gdb-patches , Doug Evans Content-Type: multipart/mixed; boundary=047d7bdc9db274c96904ebc97e2b X-SW-Source: 2013-11/txt/msg00708.txt.bz2 --047d7bdc9db274c96904ebc97e2b Content-Type: text/plain; charset=ISO-8859-1 Content-length: 847 The enclosed patch fixes 16196, which was revealed when an unitialized C++ string happened to point to valid memory and had a garbage in the size field that happened to look very large. GDB then spins a very long time reading invalid memory. The patch fixes this by enforcing the fetch limit (which, in turn, is set by print elements) even when the size of the string is known. This makes the function's behavior similar to when the size of the string isn't know. I checked all callers, and it this does not cause any difference in behavior, and reveals no new problems in the test-suite. Thanks Sterling 2013-11-22 Sterling Augustine PR backtrace/16196: * valprint.c (read_string): Set new variable fetchlen based on fetchlimit and size. Use it in call to partial_memory_read. Update comment. --047d7bdc9db274c96904ebc97e2b Content-Type: text/x-patch; charset=US-ASCII; name="honor-fetchlimit.patch" Content-Disposition: attachment; filename="honor-fetchlimit.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hobuv9ac0 Content-length: 2339 ZGlmZiAtLWdpdCBhL2dkYi92YWxwcmludC5jIGIvZ2RiL3ZhbHByaW50LmMK aW5kZXggZWE4NzdmMy4uZWNjMzQxMSAxMDA2NDQKLS0tIGEvZ2RiL3ZhbHBy aW50LmMKKysrIGIvZ2RiL3ZhbHByaW50LmMKQEAgLTE3NTcsMTEgKzE3NTcs MTMgQEAgcGFydGlhbF9tZW1vcnlfcmVhZCAoQ09SRV9BRERSIG1lbWFkZHIs IGdkYl9ieXRlICpteWFkZHIsCiAgICBmcmVlLCBhbmQgQllURVNfUkVBRCB3 aWxsIGJlIHNldCB0byB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuICBSZXR1 cm5zIDAgb24KICAgIHN1Y2Nlc3MsIG9yIGEgdGFyZ2V0X3hmZXJfZXJyb3Ig b24gZmFpbHVyZS4KIAotICAgSWYgTEVOID4gMCwgcmVhZHMgZXhhY3RseSBM RU4gY2hhcmFjdGVycyAoaW5jbHVkaW5nIGV2ZW50dWFsIE5VTHMgaW4KLSAg IHRoZSBtaWRkbGUgb3IgZW5kIG9mIHRoZSBzdHJpbmcpLiAgSWYgTEVOIGlz IC0xLCBzdG9wcyBhdCB0aGUgZmlyc3QKLSAgIG51bGwgY2hhcmFjdGVyIChu b3QgbmVjZXNzYXJpbHkgdGhlIGZpcnN0IG51bGwgYnl0ZSkgdXAgdG8gYSBt YXhpbXVtCi0gICBvZiBGRVRDSExJTUlUIGNoYXJhY3RlcnMuICBTZXQgRkVU Q0hMSU1JVCB0byBVSU5UX01BWCB0byByZWFkIGFzIG1hbnkKLSAgIGNoYXJh Y3RlcnMgYXMgcG9zc2libGUgZnJvbSB0aGUgc3RyaW5nLgorICAgSWYgTEVO ID4gMCwgcmVhZHMgdGhlIGxlc3NlciBvZiBMRU4gb3IgRkVUQ0hMSU1JVCBj aGFyYWN0ZXJzCisgICAoaW5jbHVkaW5nIGV2ZW50dWFsIE5VTHMgaW4gdGhl IG1pZGRsZSBvciBlbmQgb2YgdGhlIHN0cmluZykuCisKKyAgIElmIExFTiBp cyAtMSwgc3RvcHMgYXQgdGhlIGZpcnN0IG51bGwgY2hhcmFjdGVyIChub3Qg bmVjZXNzYXJpbHkKKyAgIHRoZSBmaXJzdCBudWxsIGJ5dGUpIHVwIHRvIGEg bWF4aW11bSBvZiBGRVRDSExJTUlUIGNoYXJhY3RlcnMuICBTZXQKKyAgIEZF VENITElNSVQgdG8gVUlOVF9NQVggdG8gcmVhZCBhcyBtYW55IGNoYXJhY3Rl cnMgYXMgcG9zc2libGUgZnJvbQorICAgdGhlIHN0cmluZy4KIAogICAgVW5s ZXNzIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24sIEJVRkZFUiB3aWxsIGFsd2F5 cyBiZSBhbGxvY2F0ZWQsIGV2ZW4gb24KICAgIGZhaWx1cmUuICBJbiB0aGlz IGNhc2UsIHNvbWUgY2hhcmFjdGVycyBtaWdodCBoYXZlIGJlZW4gcmVhZCBi ZWZvcmUgdGhlCkBAIC0xODA3LDEwICsxODA5LDEyIEBAIHJlYWRfc3RyaW5n IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwgaW50IHdpZHRoLCB1bnNpZ25l ZCBpbnQgZmV0Y2hsaW1pdCwKIAogICBpZiAobGVuID4gMCkKICAgICB7Ci0g ICAgICAqYnVmZmVyID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKGxlbiAqIHdp ZHRoKTsKKyAgICAgIHVuc2lnbmVkIGludCBmZXRjaGxlbiA9IG1pbiAobGVu LCBmZXRjaGxpbWl0KTsKKworICAgICAgKmJ1ZmZlciA9IChnZGJfYnl0ZSAq KSB4bWFsbG9jIChmZXRjaGxlbiAqIHdpZHRoKTsKICAgICAgIGJ1ZnB0ciA9 ICpidWZmZXI7CiAKLSAgICAgIG5mZXRjaCA9IHBhcnRpYWxfbWVtb3J5X3Jl YWQgKGFkZHIsIGJ1ZnB0ciwgbGVuICogd2lkdGgsICZlcnJjb2RlKQorICAg ICAgbmZldGNoID0gcGFydGlhbF9tZW1vcnlfcmVhZCAoYWRkciwgYnVmcHRy LCBmZXRjaGxlbiAqIHdpZHRoLCAmZXJyY29kZSkKIAkvIHdpZHRoOwogICAg ICAgYWRkciArPSBuZmV0Y2ggKiB3aWR0aDsKICAgICAgIGJ1ZnB0ciArPSBu ZmV0Y2ggKiB3aWR0aDsK --047d7bdc9db274c96904ebc97e2b--