From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.69) (envelope-from ) id 1Pf6va-0005qB-6G for ltp-list@lists.sourceforge.net; Tue, 18 Jan 2011 08:28:34 +0000 Received: from mx1.redhat.com ([209.132.183.28]) by sog-mx-3.v43.ch3.sourceforge.com with esmtp (Exim 4.72) id 1Pf6vY-0005vU-E4 for ltp-list@lists.sourceforge.net; Tue, 18 Jan 2011 08:28:34 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id p0I8SQWf025701 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 18 Jan 2011 03:28:26 -0500 Message-ID: <4D354F53.8050600@redhat.com> Date: Tue, 18 Jan 2011 16:29:07 +0800 From: Caspar Zhang MIME-Version: 1.0 References: <1294339211-19449-1-git-send-email-czhang@redhat.com> In-Reply-To: <1294339211-19449-1-git-send-email-czhang@redhat.com> Content-Type: multipart/mixed; boundary="------------050304010104030600040505" Subject: [LTP] [PATCH v4] make pid_list dynamically sized with memory List-Id: Linux Test Project General Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-list-bounces@lists.sourceforge.net To: ltp-list@lists.sourceforge.net This is a multi-part message in MIME format. --------------050304010104030600040505 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id p0I8SQWf025701 On 01/07/2011 02:40 AM, czhang@redhat.com wrote: > From: Caspar Zhang >=20 > We get segfaults during testing mtest01 on a 5TB memory machine, the > problem was traced to the array pid_list[] went to overflow and > corrupted memory. This fix makes pid_list dynamically sized with > correct memory size to avoid overflow. >=20 > v2: not split into different bits when allocating pid_list. > v3: 1) fix optargs: -b and -p should not be used at the same time. > 2) pre_mem maybe not initialized before using if -p option not used. > fix it by moving it outside ``if(maxpercent)'' block. > v4: fix code format. >=20 > Signed-off-by: Caspar Zhang Patch attached. Thanks, Caspar --=20 Quality Assurance Engineer (Kernel) in Red Hat Software (Beijing) Co., R&D Branch TEL: +86-10-62608150 WEB: http://www.redhat.com/ -- C-A-S-P-A-R, Caspar /k=C3=A6sp=C9=91:/ ;-) --------------050304010104030600040505 Content-Type: text/plain; name="0001-make-pid_list-dynamically-sized-with-memory.patch" Content-Disposition: attachment; filename="0001-make-pid_list-dynamically-sized-with-memory.patch" Content-Transfer-Encoding: base64 RnJvbSBjYTllYzE2ZDFhODBlMGRiYmU4ODE5ZGUwM2NjMzlmMzNjMDFmOWU0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDYXNwYXIgWmhhbmcgPGN6aGFuZ0ByZWRoYXQuY29t PgpEYXRlOiBGcmksIDcgSmFuIDIwMTEgMDI6MzU6MzQgKzA4MDAKU3ViamVjdDogW1BBVENI IHY0XSBtYWtlIHBpZF9saXN0IGR5bmFtaWNhbGx5IHNpemVkIHdpdGggbWVtb3J5CgpXZSBn ZXQgc2VnZmF1bHRzIGR1cmluZyB0ZXN0aW5nIG10ZXN0MDEgb24gYSA1VEIgbWVtb3J5IG1h Y2hpbmUsIHRoZQpwcm9ibGVtIHdhcyB0cmFjZWQgdG8gdGhlIGFycmF5IHBpZF9saXN0W10g d2VudCB0byBvdmVyZmxvdyBhbmQKY29ycnVwdGVkIG1lbW9yeS4gVGhpcyBmaXggbWFrZXMg cGlkX2xpc3QgZHluYW1pY2FsbHkgc2l6ZWQgd2l0aApjb3JyZWN0IG1lbW9yeSBzaXplIHRv IGF2b2lkIG92ZXJmbG93LgoKdjI6IG5vdCBzcGxpdCBpbnRvIGRpZmZlcmVudCBiaXRzIHdo ZW4gYWxsb2NhdGluZyBwaWRfbGlzdC4KdjM6IDEpIGZpeCBvcHRhcmdzOiAtYiBhbmQgLXAg c2hvdWxkIG5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuCiAgICAyKSBwcmVfbWVtIG1h eWJlIG5vdCBpbml0aWFsaXplZCBiZWZvcmUgdXNpbmcgaWYgLXAgb3B0aW9uIG5vdCB1c2Vk LgogICAgICAgZml4IGl0IGJ5IG1vdmluZyBpdCBvdXRzaWRlIGBgaWYobWF4cGVyY2VudCkn JyBibG9jay4KdjQ6IGZpeCBjb2RlIGZvcm1hdC4KClNpZ25lZC1vZmYtYnk6IENhc3BhciBa aGFuZyA8Y3poYW5nQHJlZGhhdC5jb20+Ci0tLQogdGVzdGNhc2VzL2tlcm5lbC9tZW0vbXRl c3QwMS9tdGVzdDAxLmMgfCAgNDA5ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGVzIGNoYW5nZWQsIDIxNSBpbnNlcnRpb25zKCspLCAxOTQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9tZW0vbXRlc3QwMS9tdGVzdDAxLmMg Yi90ZXN0Y2FzZXMva2VybmVsL21lbS9tdGVzdDAxL210ZXN0MDEuYwppbmRleCBhZWUwZDUx Li45NGI0MjlhIDEwMDY0NAotLS0gYS90ZXN0Y2FzZXMva2VybmVsL21lbS9tdGVzdDAxL210 ZXN0MDEuYworKysgYi90ZXN0Y2FzZXMva2VybmVsL21lbS9tdGVzdDAxL210ZXN0MDEuYwpA QCAtNDQsMjIzICs0NCwyNDQgQEAKIAogI2luY2x1ZGUgInRlc3QuaCIKIAorI2RlZmluZSBG SVZFX0hVTkRSRURfS0IgKHVuc2lnbmVkIGxvbmcgbG9uZykoNTAwKjEwMjQqMTAyNCkKKyNk ZWZpbmUgT05FX01FR0FCWVRFICAgICh1bnNpZ25lZCBsb25nIGxvbmcpKDEwMjQqMTAyNCox MDI0KQorI2RlZmluZSBUSFJFRV9NRUdBQllURVMgKHVuc2lnbmVkIGxvbmcgbG9uZykoMypP TkVfTUVHQUJZVEUpCisKIGNoYXIgKlRDSUQgPSAibXRlc3QwMSI7CiBpbnQgVFNUX1RPVEFM ID0gMTsKLQogaW50IHBpZF9jb3VudCA9IDA7CiAKIHZvaWQgaGFuZGxlcihpbnQgc2lnbm8p CiB7Ci0gICAgICAgIHBpZF9jb3VudCsrOworICAgIHBpZF9jb3VudCsrOwogfQogCi1pbnQg bWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7Ci0gIGNoYXIqIG1lbTsKLSAgZmxvYXQg cGVyY2VudDsKLSAgdW5zaWduZWQgaW50IG1heHBlcmNlbnQ9MCwgZG93cml0ZT0wLCB2ZXJi b3NlPTAsIGosIGM7Ci0gIHVuc2lnbmVkIGxvbmcgYnl0ZWNvdW50LCBhbGxvY19ieXRlczsK LSAgdW5zaWduZWQgbG9uZyBsb25nIG9yaWdpbmFsX21heGJ5dGVzLG1heGJ5dGVzPTA7Ci0g IHVuc2lnbmVkIGxvbmcgbG9uZyBwcmVfbWVtLCBwb3N0X21lbTsKLSAgZXh0ZXJuIGNoYXIq IG9wdGFyZzsKLSAgaW50IGNodW5rc2l6ZSA9IDEwMjQqMTAyNDsgLyogb25lIG1lZyBhdCBh IHRpbWUgYnkgZGVmYXVsdCAqLwotICBzdHJ1Y3Qgc3lzaW5mbyBzc3RhdHM7Ci0gIGludCBp LHBpZF9jbnRyOwotICBwaWRfdCBwaWQscGlkX2xpc3RbMTAwMF07Ci0gIHN0cnVjdCBzaWdh Y3Rpb24gYWN0OwotCi0gIGFjdC5zYV9oYW5kbGVyID0gaGFuZGxlcjsKLSAgYWN0LnNhX2Zs YWdzID0gMDsKLSAgc2lnZW1wdHlzZXQoJmFjdC5zYV9tYXNrKTsKLSAgc2lnYWN0aW9uKFNJ R1JUTUlOLCAgJmFjdCwgMCk7Ci0KLSAgZm9yIChpPTA7aTwxMDAwO2krKykKLSAgIHBpZF9s aXN0W2ldPShwaWRfdCkwOwotCi0gIHdoaWxlICgoYz1nZXRvcHQoYXJnYywgYXJndiwgImM6 YjpwOnd2aCIpKSAhPSBFT0YpIHsKLSAgICBzd2l0Y2goKGNoYXIpYykgewotICAgICAgY2Fz ZSAnYyc6Ci0gICAgICAgIGNodW5rc2l6ZSA9IGF0b2kob3B0YXJnKTsKLSAgICAgICAgYnJl YWs7Ci0gICAgICBjYXNlICdiJzoKLSAgICAgICAgbWF4Ynl0ZXMgPSBhdG9sbChvcHRhcmcp OwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgJ3AnOgotICAgICAgICBtYXhwZXJjZW50 ID0gYXRvaShvcHRhcmcpOwotCWlmIChtYXhwZXJjZW50IDw9IDApIHsKLQkgIHRzdF9yZXNt KFRGQUlMLCAiRVJST1I6IC1wIG9wdGlvbiByZXF1aXJlcyBudW1iZXIgZ3JlYXRlciB0aGFu IDAiKTsKLQkgIGV4aXQoMSk7fQotCWlmIChtYXhwZXJjZW50ID4gOTkpIHsKLQkgIHRzdF9y ZXNtKFRGQUlMLCAiRVJST1I6IC1wIG9wdGlvbiBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIDk5 Iik7Ci0JICBleGl0KDEpO30KLSAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlICd3JzoKLSAg ICAgICAgZG93cml0ZSA9IDE7Ci0gICAgICAgIGJyZWFrOwotICAgICAgY2FzZSAndic6Ci0g ICAgICAgIHZlcmJvc2UgPSAxOwotICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgJ2gnOgot ICAgICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRmKCJVc2FnZTogJXMgWy1jIDxieXRlcz5d IFstYiA8Ynl0ZXM+fC1wIDxwZXJjZW50Pl0gWy12XVxuIiwgYXJndlswXSk7Ci0gICAgICAg IHByaW50ZigiXHQtYyA8bnVtPlx0c2l6ZSBvZiBjaHVuayBpbiBieXRlcyB0byBtYWxsb2Mg b24gZWFjaCBwYXNzXG4iKTsKLSAgICAgICAgcHJpbnRmKCJcdC1iIDxieXRlcz5cdG1heGlt dW0gbnVtYmVyIG9mIGJ5dGVzIHRvIGFsbG9jYXRlIGJlZm9yZSBzdG9wcGluZ1xuIik7Ci0g ICAgICAgIHByaW50ZigiXHQtcCA8Ynl0ZXM+XHRwZXJjZW50IG9mIHRvdGFsIG1lbW9yeSB1 c2VkIGF0IHdoaWNoIHRoZSBwcm9ncmFtIHN0b3BzXG4iKTsKLSAgICAgICAgcHJpbnRmKCJc dC13XHRcdHdyaXRlIHRvIHRoZSBtZW1vcnkgYWZ0ZXIgYWxsb2NhdGluZ1xuIik7Ci0gICAg ICAgIHByaW50ZigiXHQtdlx0XHR2ZXJib3NlXG4iKTsKLSAgICAgICAgcHJpbnRmKCJcdC1o XHRcdGRpc3BsYXkgdXNhZ2VcbiIpOwotICAgICAgICBleGl0KC0xKTsKLSAgICB9Ci0gIH0K LQotICBzeXNpbmZvKCZzc3RhdHMpOwotICBpZiAobWF4cGVyY2VudCkgeworaW50IG1haW4o aW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKK3sKKyAgICBjaGFyKiBtZW07CisgICAgZmxvYXQg cGVyY2VudDsKKyAgICB1bnNpZ25lZCBpbnQgbWF4cGVyY2VudCA9IDAsIGRvd3JpdGUgPSAw LCB2ZXJib3NlPTAsIGosIGM7CisgICAgdW5zaWduZWQgbG9uZyBieXRlY291bnQsIGFsbG9j X2J5dGVzLCBtYXhfcGlkczsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgb3JpZ2luYWxfbWF4 Ynl0ZXMsIG1heGJ5dGVzID0gMDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcHJlX21lbSwg cG9zdF9tZW07CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX3JhbSwgdG90YWxfZnJl ZSwgRCwgQzsKLSAgICBwZXJjZW50PShmbG9hdCltYXhwZXJjZW50LzEwMC4wMDsKLQotICAg IHRvdGFsX3JhbT1zc3RhdHMudG90YWxyYW07Ci0gICAgdG90YWxfcmFtPXRvdGFsX3JhbStz c3RhdHMudG90YWxzd2FwOwotCi0gICAgdG90YWxfZnJlZT1zc3RhdHMuZnJlZXJhbTsKLSAg ICB0b3RhbF9mcmVlPXRvdGFsX2ZyZWUrc3N0YXRzLmZyZWVzd2FwOwotCi0gICAgLyogVG90 YWwgbWVtb3J5IHVzZWQgbmVlZGVkIHRvIHJlYWNoIG1heHBlcmNlbnQgKi8KLSAgICBEID0g cGVyY2VudCooc3N0YXRzLm1lbV91bml0KnRvdGFsX3JhbSk7Ci0gICAgdHN0X3Jlc20oVElO Rk8sICJUb3RhbCBtZW1vcnkgdXNlZCBuZWVkZWQgdG8gcmVhY2ggbWF4cGVyY2VudCA9ICVs bHUga2J5dGVzIiwgRC8xMDI0KTsKLQotICAgIC8qIFRvdGFsIG1lbW9yeSBhbHJlYWR5IHVz ZWQgKi8KLSAgICBDID0gc3N0YXRzLm1lbV91bml0Kih0b3RhbF9yYW0tdG90YWxfZnJlZSk7 Ci0gICAgdHN0X3Jlc20oVElORk8sICJUb3RhbCBtZW1vcnkgYWxyZWFkeSB1c2VkIG9uIHN5 c3RlbSA9ICVsbHUga2J5dGVzIiwgQy8xMDI0KTsKKyAgICBleHRlcm4gY2hhciogb3B0YXJn OworICAgIGludCBjaHVua3NpemUgPSAxMDI0KjEwMjQ7IC8qIG9uZSBtZWcgYXQgYSB0aW1l IGJ5IGRlZmF1bHQgKi8KKyAgICBzdHJ1Y3Qgc3lzaW5mbyBzc3RhdHM7CisgICAgaW50IGks IHBpZF9jbnRyOworICAgIHBpZF90IHBpZCwgKnBpZF9saXN0OworICAgIHN0cnVjdCBzaWdh Y3Rpb24gYWN0OwogCisgICAgYWN0LnNhX2hhbmRsZXIgPSBoYW5kbGVyOworICAgIGFjdC5z YV9mbGFncyA9IDA7CisgICAgc2lnZW1wdHlzZXQoJmFjdC5zYV9tYXNrKTsKKyAgICBzaWdh Y3Rpb24oU0lHUlRNSU4sICAmYWN0LCAwKTsKKyAgICAKKyAgICB3aGlsZSAoKGMgPSBnZXRv cHQoYXJnYywgYXJndiwgImM6YjpwOnd2aCIpKSAhPSBFT0YpIAorICAgIHsKKyAgICAgICAg c3dpdGNoKChjaGFyKWMpIAorICAgICAgICB7CisgICAgICAgICAgICBjYXNlICdjJzoKKyAg ICAgICAgICAgICAgICBjaHVua3NpemUgPSBhdG9pKG9wdGFyZyk7CisgICAgICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdiJzoKKyAgICAgICAgICAgICAgICBpZiAo bWF4cGVyY2VudCAhPSAwKSB7CisgICAgICAgICAgICAgICAgICAgIHRzdF9yZXNtKFRGQUlM LCAiRVJST1I6IC1iIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIC1wIG9wdGlvbiBhdCB0 aGUgc2FtZSB0aW1lIik7CisgICAgICAgICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgICAgIG1heGJ5dGVzID0gYXRvbGwob3B0YXJnKTsK KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ3AnOgorICAgICAg ICAgICAgICAgIGlmIChtYXhieXRlcyAhPSAwKSB7CisgICAgICAgICAgICAgICAgICAgIHRz dF9yZXNtKFRGQUlMLCAiRVJST1I6IC1wIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIC1i IG9wdGlvbiBhdCB0aGUgc2FtZSB0aW1lIik7CisgICAgICAgICAgICAgICAgICAgIGV4aXQo MSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG1heHBlcmNlbnQgPSBh dG9pKG9wdGFyZyk7CisgICAgICAgICAgICAgICAgaWYgKG1heHBlcmNlbnQgPD0gMCkgewor ICAgICAgICAgICAgICAgICAgICB0c3RfcmVzbShURkFJTCwgIkVSUk9SOiAtcCBvcHRpb24g cmVxdWlyZXMgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIik7CisgICAgICAgICAgICAgICAgICAg IGV4aXQoMSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChtYXhw ZXJjZW50ID4gOTkpIHsKKyAgICAgICAgICAgICAgICAgICAgdHN0X3Jlc20oVEZBSUwsICJF UlJPUjogLXAgb3B0aW9uIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gOTkiKTsKKyAgICAgICAg ICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICd3JzoKKyAgICAgICAgICAgICAgICBkb3dy aXRlID0gMTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ3Yn OgorICAgICAgICAgICAgICAgIHZlcmJvc2UgPSAxOworICAgICAgICAgICAgICAgIGJyZWFr OworICAgICAgICAgICAgY2FzZSAnaCc6CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAg ICAgICAgICAgIHByaW50ZigiVXNhZ2U6ICVzIFstYyA8Ynl0ZXM+XSBbLWIgPGJ5dGVzPnwt cCA8cGVyY2VudD5dIFstdl1cbiIsIGFyZ3ZbMF0pOworICAgICAgICAgICAgICAgIHByaW50 ZigiXHQtYyA8bnVtPlx0c2l6ZSBvZiBjaHVuayBpbiBieXRlcyB0byBtYWxsb2Mgb24gZWFj aCBwYXNzXG4iKTsKKyAgICAgICAgICAgICAgICBwcmludGYoIlx0LWIgPGJ5dGVzPlx0bWF4 aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gYWxsb2NhdGUgYmVmb3JlIHN0b3BwaW5nXG4iKTsK KyAgICAgICAgICAgICAgICBwcmludGYoIlx0LXAgPGJ5dGVzPlx0cGVyY2VudCBvZiB0b3Rh bCBtZW1vcnkgdXNlZCBhdCB3aGljaCB0aGUgcHJvZ3JhbSBzdG9wc1xuIik7CisgICAgICAg ICAgICAgICAgcHJpbnRmKCJcdC13XHRcdHdyaXRlIHRvIHRoZSBtZW1vcnkgYWZ0ZXIgYWxs b2NhdGluZ1xuIik7CisgICAgICAgICAgICAgICAgcHJpbnRmKCJcdC12XHRcdHZlcmJvc2Vc biIpOworICAgICAgICAgICAgICAgIHByaW50ZigiXHQtaFx0XHRkaXNwbGF5IHVzYWdlXG4i KTsKKyAgICAgICAgICAgICAgICBleGl0KC0xKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAK KyAgICBzeXNpbmZvKCZzc3RhdHMpOworICAgIHRvdGFsX3JhbSA9IHNzdGF0cy50b3RhbHJh bSArIHNzdGF0cy50b3RhbHN3YXA7IAorICAgIHRvdGFsX2ZyZWUgPSBzc3RhdHMuZnJlZXJh bSArIHNzdGF0cy5mcmVlc3dhcDsKICAgICAvKiBUb3RhbCBGcmVlIFByZS1UZXN0IFJBTSAq LwotICAgIHByZV9tZW0gPSBzc3RhdHMubWVtX3VuaXQqdG90YWxfZnJlZTsKLQotICAgIC8q IEFyZSB3ZSBhbHJlYWR5IHVzaW5nIG1vcmUgdGhhbiBtYXhwZXJjZW50PyAqLwotICAgIGlm IChDPkQpIHsKLSAgICAgIHRzdF9yZXNtKFRGQUlMLCAiTW9yZSBtZW1vcnkgdGhhbiB0aGUg bWF4aW11bSBhbW91bnQgeW91IHNwZWNpZmllZCBpcyBhbHJlYWR5IGJlaW5nIHVzZWQiKTsK LSAgICAgIGV4aXQoMSk7CisgICAgcHJlX21lbSA9IHNzdGF0cy5tZW1fdW5pdCAqIHRvdGFs X2ZyZWU7ICAgCisgICAgbWF4X3BpZHMgPSB0b3RhbF9yYW0gLyAodW5zaWduZWQgbG9uZylG SVZFX0hVTkRSRURfS0IgKyAxOworIAorICAgIGlmICgocGlkX2xpc3QgPSBtYWxsb2MobWF4 X3BpZHMgKiBzaXplb2YocGlkX3QpKSkgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIHRzdF9y ZXNtKFRCUk9LfFRFUlJOTywgIm1hbGxvYyBmYWlsZWQuIik7CisgICAgICAgIGV4aXQoMSk7 CiAgICAgfQotICAgIGVsc2UKLSAgICAgIHByZV9tZW0gPSBzc3RhdHMubWVtX3VuaXQqdG90 YWxfZnJlZTsKKyAgICBtZW1zZXQocGlkX2xpc3QsIDAsIG1heF9waWRzICogc2l6ZW9mKHBp ZF90KSk7CisgICAgCisgICAgLyogQ3VycmVudGx5IHVzZWQgbWVtb3J5ICovCisgICAgQyA9 IHNzdGF0cy5tZW1fdW5pdCAqICh0b3RhbF9yYW0gLSB0b3RhbF9mcmVlKTsKKyAgICB0c3Rf cmVzbShUSU5GTywgIlRvdGFsIG1lbW9yeSBhbHJlYWR5IHVzZWQgb24gc3lzdGVtID0gJWxs dSBrYnl0ZXMiLCBDLzEwMjQpOworICAgIAorICAgIGlmIChtYXhwZXJjZW50KSAKKyAgICB7 CisgICAgICAgIHBlcmNlbnQgPSAoZmxvYXQpbWF4cGVyY2VudCAvIDEwMC4wMDsKIAotICAg IC8qIHNldCBtYXhieXRlcyB0byB0aGUgZXh0cmEgYW1vdW50IHdlIHdhbnQgdG8gYWxsb2Nh dGUgKi8KLSAgICBtYXhieXRlcyA9IEQtQzsKLSAgICB0c3RfcmVzbShUSU5GTywgIkZpbGxp bmcgdXAgJWQlJSBvZiByYW0gd2hpY2ggaXMgJWxsdSBrYnl0ZXMiLCBtYXhwZXJjZW50LCBt YXhieXRlcy8xMDI0KTsKLSAgfQotICBvcmlnaW5hbF9tYXhieXRlcz1tYXhieXRlczsKLSAg aT0wOwotICBwaWRfY250cj0wOwotICBwaWQ9Zm9yaygpOwotICBpZiAocGlkICE9IDApCi0g ICAgcGlkX2NudHIrKzsKLSAgICBwaWRfbGlzdFtpXT1waWQ7CisgICAgICAgIC8qIERlc2ly ZWQgbWVtb3J5IG5lZWRlZCB0byByZWFjaCBtYXhwZXJjZW50ICovCisgICAgICAgIEQgPSBw ZXJjZW50ICogKHNzdGF0cy5tZW1fdW5pdCAqIHRvdGFsX3JhbSk7CisgICAgICAgIHRzdF9y ZXNtKFRJTkZPLCAiVG90YWwgbWVtb3J5IHVzZWQgbmVlZGVkIHRvIHJlYWNoIG1heHBlcmNl bnQgPSAlbGx1IGtieXRlcyIsIEQvMTAyNCk7CisgICAgICAgIAorICAgICAgICAvKiBBcmUg d2UgYWxyZWFkeSB1c2luZyBtb3JlIHRoYW4gbWF4cGVyY2VudD8gKi8KKyAgICAgICAgaWYg KEMgPiBEKSAKKyAgICAgICAgeworICAgICAgICAgICAgdHN0X3Jlc20oVEZBSUwsICJNb3Jl IG1lbW9yeSB0aGFuIHRoZSBtYXhpbXVtIGFtb3VudCB5b3Ugc3BlY2lmaWVkIGlzIGFscmVh ZHkgYmVpbmcgdXNlZCIpOworICAgICAgICAgICAgZnJlZShwaWRfbGlzdCk7CisgICAgICAg ICAgICBleGl0KDEpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICAvKiBzZXQgbWF4 Ynl0ZXMgdG8gdGhlIGV4dHJhIGFtb3VudCB3ZSB3YW50IHRvIGFsbG9jYXRlICovCisgICAg ICAgIG1heGJ5dGVzID0gRCAtIEM7CisgICAgICAgIHRzdF9yZXNtKFRJTkZPLCAiRmlsbGlu ZyB1cCAlZCUlIG9mIHJhbSB3aGljaCBpcyAlbGx1IGtieXRlcyIsIG1heHBlcmNlbnQsIG1h eGJ5dGVzLzEwMjQpOworICAgIH0KKyAgICBvcmlnaW5hbF9tYXhieXRlcyA9IG1heGJ5dGVz OworICAgIGkgPSAwOworICAgIHBpZF9jbnRyID0gMDsKKyAgICBwaWQgPSBmb3JrKCk7Cisg ICAgaWYgKHBpZCAhPSAwKQorICAgICAgICBwaWRfY250cisrOworICAgIHBpZF9saXN0W2ld ID0gcGlkOwogCiAjaWYgZGVmaW5lZCAoX3MzOTBfKSAvKiBzMzkwJ3MgMzFiaXQgYWRkcmVz c2luZyByZXF1aXJlcyBzbWFsbGVyIGNodW5rcyAqLwotI2RlZmluZSBGSVZFX0hVTkRSRURf S0IJKDUwMCoxMDI0KjEwMjQpCi0jZGVmaW5lIE9ORV9NRUdBQllURQkoMTAyNCoxMDI0KjEw MjQpCi0jZGVmaW5lIFRIUkVFX01FR0FCWVRFUwkoMypPTkVfTUVHQUJZVEUpCi0gIHdoaWxl IChwaWQgIT0gMCAmJiBtYXhieXRlcyA+IEZJVkVfSFVORFJFRF9LQikKLSAgewotICAgIGkr KzsKLSAgICBtYXhieXRlcyAtPSBGSVZFX0hVTkRSRURfS0I7Ci0gICAgcGlkID0gZm9yaygp OwotICAgIGlmIChwaWQgIT0gMCkgewotICAgICAgcGlkX2NudHIrKzsKLSAgICAgIHBpZF9s aXN0W2ldID0gcGlkOworICAgIHdoaWxlIChwaWQgIT0gMCAmJiBtYXhieXRlcyA+IEZJVkVf SFVORFJFRF9LQikKKyAgICB7CisgICAgICAgIGkrKzsKKyAgICAgICAgbWF4Ynl0ZXMgLT0g RklWRV9IVU5EUkVEX0tCOworICAgICAgICBwaWQgPSBmb3JrKCk7CisgICAgICAgIGlmIChw aWQgIT0gMCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIHBpZF9jbnRyKys7CisgICAgICAg ICAgICBwaWRfbGlzdFtpXSA9IHBpZDsKKyAgICAgICAgfQogICAgIH0KLSAgfQotICBpZiAo bWF4Ynl0ZXMgPiBGSVZFX0hVTkRSRURfS0IpCi0gICAgYWxsb2NfYnl0ZXMgRklWRV9IVU5E UkVEX0tCOwotICBlbHNlCi0gICAgYWxsb2NfYnl0ZXMgPSAodW5zaWduZWQgbG9uZykgbWF4 Ynl0ZXM7Ci0KKyAgICBpZiAobWF4Ynl0ZXMgPiBGSVZFX0hVTkRSRURfS0IpCisgICAgICAg IGFsbG9jX2J5dGVzID0gRklWRV9IVU5EUkVEX0tCOworICAgIGVsc2UKKyAgICAgICAgYWxs b2NfYnl0ZXMgPSAodW5zaWduZWQgbG9uZykgbWF4Ynl0ZXM7CisgICAgCiAjZWxpZiBfX1dP UkRTSVpFPT0zMgotICB3aGlsZSAocGlkICE9IDAgJiYgbWF4Ynl0ZXMgPiBPTkVfTUVHQUJZ VEUpCi0gIHsKLSAgICBpKys7Ci0gICAgbWF4Ynl0ZXMgLT0gT05FX01FR0FCWVRFOwotICAg IHBpZCA9IGZvcmsoKTsKLSAgICBpZiAocGlkICE9IDApIHsKLSAgICAgIHBpZF9jbnRyKys7 Ci0gICAgICBwaWRfbGlzdFtpXT1waWQ7CisgICAgd2hpbGUgKHBpZCAhPSAwICYmIG1heGJ5 dGVzID4gT05FX01FR0FCWVRFKQorICAgIHsKKyAgICAgICAgaSsrOworICAgICAgICBtYXhi eXRlcyAtPSBPTkVfTUVHQUJZVEU7CisgICAgICAgIHBpZCA9IGZvcmsoKTsKKyAgICAgICAg aWYgKHBpZCAhPSAwKSAKKyAgICAgICAgeworICAgICAgICAgICAgcGlkX2NudHIrKzsKKyAg ICAgICAgICAgIHBpZF9saXN0W2ldPXBpZDsKKyAgICAgICAgfQogICAgIH0KLSAgfQotICBp ZiAobWF4Ynl0ZXMgPiBPTkVfTUVHQUJZVEUpCi0gICAgYWxsb2NfYnl0ZXMgPSBPTkVfTUVH QUJZVEU7Ci0gIGVsc2UKLSAgICBhbGxvY19ieXRlcyA9ICh1bnNpZ25lZCBsb25nKW1heGJ5 dGVzOwotCisgICAgaWYgKG1heGJ5dGVzID4gT05FX01FR0FCWVRFKQorICAgICAgICBhbGxv Y19ieXRlcyA9IE9ORV9NRUdBQllURTsKKyAgICBlbHNlCisgICAgICAgIGFsbG9jX2J5dGVz ID0gKHVuc2lnbmVkIGxvbmcpbWF4Ynl0ZXM7CisgICAgCiAjZWxpZiBfX1dPUkRTSVpFPT02 NAotICB3aGlsZSAocGlkIT0wICYmIG1heGJ5dGVzID4gVEhSRUVfTUVHQUJZVEVTKQotICB7 Ci0gICAgaSsrOwotICAgIG1heGJ5dGVzIC09IFRIUkVFX01FR0FCWVRFUzsKLSAgICBwaWQ9 Zm9yaygpOwotICAgIGlmIChwaWQgIT0gMCkgewotICAgICAgcGlkX2NudHIrKzsKLSAgICAg IHBpZF9saXN0W2ldID0gcGlkOwotICAgIH0KLSAgfQotICBpZiAobWF4Ynl0ZXMgPiBUSFJF RV9NRUdBQllURVMpCi0gICAgYWxsb2NfYnl0ZXMgPSBUSFJFRV9NRUdBQllURVM7Ci0gIGVs c2UKLSAgICBhbGxvY19ieXRlcyA9IG1heGJ5dGVzOwotI2VuZGlmCi0KLSAgaWYgKHBpZCA9 PSAwKQkJCS8qKiBDSElMRCAqKi8KLSAgewotICAgIGJ5dGVjb3VudD1jaHVua3NpemU7Ci0g ICAgd2hpbGUgKDEpIHsKLSAgICAgIGlmICgobWVtID0gKGNoYXIqKW1hbGxvYyhjaHVua3Np emUpKSA9PSBOVUxMKSB7Ci0gICAgICAgIHRzdF9yZXNtKFRJTkZPLCAic3RvcHBlZCBhdCAl bHUgYnl0ZXMiLCBieXRlY291bnQpOwotICAgICAgICBleGl0KDEpOwotICAgICAgfQotICAg ICAgaWYgKGRvd3JpdGUpCi0gICAgICAgIGZvciAoaj0wOyBqPGNodW5rc2l6ZTsgaisrKQot ICAgICAgICAgICoobWVtK2opPSdhJzsKLSAgICAgIGlmICh2ZXJib3NlKQotCXRzdF9yZXNt KFRJTkZPLCAiYWxsb2NhdGVkICVsdSBieXRlcyBjaHVua3NpemUgaXMgJWQiLCBieXRlY291 bnQsIGNodW5rc2l6ZSk7Ci0gICAgICBieXRlY291bnQrPWNodW5rc2l6ZTsKLSAgICAgIGlm IChhbGxvY19ieXRlcyAmJiAoYnl0ZWNvdW50ID49IGFsbG9jX2J5dGVzKSkKLSAgICAgICAg YnJlYWs7CisgICAgd2hpbGUgKHBpZCE9MCAmJiBtYXhieXRlcyA+IFRIUkVFX01FR0FCWVRF UykgCisgICAgeworICAgICAgICBpKys7CisgICAgICAgIG1heGJ5dGVzIC09IFRIUkVFX01F R0FCWVRFUzsKKyAgICAgICAgcGlkID0gZm9yaygpOworICAgICAgICBpZiAocGlkICE9IDAp IAorICAgICAgICB7CisgICAgICAgICAgICBwaWRfY250cisrOworICAgICAgICAgICAgcGlk X2xpc3RbaV0gPSBwaWQ7CisgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGRvd3JpdGUpCi0g ICAgICB0c3RfcmVzbShUSU5GTywgIi4uLiAlbHUgYnl0ZXMgYWxsb2NhdGVkIGFuZCB1c2Vk LiIsIGJ5dGVjb3VudCk7CisgICAgaWYgKG1heGJ5dGVzID4gVEhSRUVfTUVHQUJZVEVTKQor ICAgICAgICBhbGxvY19ieXRlcyA9IFRIUkVFX01FR0FCWVRFUzsKICAgICBlbHNlCi0gICAg ICB0c3RfcmVzbShUSU5GTywgIi4uLiAlbHUgYnl0ZXMgYWxsb2NhdGVkIG9ubHkuIiwgYnl0 ZWNvdW50KTsKLSAgICBraWxsKGdldHBwaWQoKSxTSUdSVE1JTik7Ci0gICAgd2hpbGUgKDEp Ci0gICAgICBzbGVlcCgxKTsKLSAgfQotICBlbHNlCQkJCQkvKiogUEFSRU5UICoqLwotICB7 Ci0KLSAgICBpPTA7Ci0gICAgc3lzaW5mbygmc3N0YXRzKTsKKyAgICAgICAgYWxsb2NfYnl0 ZXMgPSBtYXhieXRlczsKKyNlbmRpZgogCi0gICAgaWYgKGRvd3JpdGUpCisgICAgaWYgKHBp ZCA9PSAwKSAgICAgICAgIC8qKiBDSElMRCAqKi8KICAgICB7Ci0gICAgICAvKiBUb3RhbCBG cmVlIFBvc3QtVGVzdCBSQU0gKi8KLSAgICAgIHBvc3RfbWVtID0gKHVuc2lnbmVkIGxvbmcg bG9uZylzc3RhdHMubWVtX3VuaXQqc3N0YXRzLmZyZWVyYW07Ci0gICAgICBwb3N0X21lbSA9 IHBvc3RfbWVtKygodW5zaWduZWQgbG9uZyBsb25nKXNzdGF0cy5tZW1fdW5pdCpzc3RhdHMu ZnJlZXN3YXApOwotCi0gICAgICB3aGlsZSAoKCgodW5zaWduZWQgbG9uZyBsb25nKXByZV9t ZW0gLSBwb3N0X21lbSkgPCAodW5zaWduZWQgbG9uZyBsb25nKW9yaWdpbmFsX21heGJ5dGVz KSAmJgotICAgICAgICAgICAgICAocGlkX2NvdW50IDwgcGlkX2NudHIpICkKLSAgICAgIHsK LSAgICAgICBzbGVlcCgxKTsKLSAgICAgICBzeXNpbmZvKCZzc3RhdHMpOwotICAgICAgIHBv c3RfbWVtID0gKHVuc2lnbmVkIGxvbmcgbG9uZylzc3RhdHMubWVtX3VuaXQqc3N0YXRzLmZy ZWVyYW07Ci0gICAgICAgcG9zdF9tZW0gPSBwb3N0X21lbSsoKHVuc2lnbmVkIGxvbmcgbG9u Zylzc3RhdHMubWVtX3VuaXQqc3N0YXRzLmZyZWVzd2FwKTsKLSAgICAgIH0KKyAgICAgICAg Ynl0ZWNvdW50ID0gY2h1bmtzaXplOworICAgICAgICB3aGlsZSAoMSkgCisgICAgICAgIHsK KyAgICAgICAgICAgIGlmICgobWVtID0gbWFsbG9jKGNodW5rc2l6ZSkpID09IE5VTEwpIAor ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRzdF9yZXNtKFRCUk9LfFRFUlJOTywg InN0b3BwZWQgYXQgJWx1IGJ5dGVzIiwgYnl0ZWNvdW50KTsKKyAgICAgICAgICAgICAgICBm cmVlKHBpZF9saXN0KTsKKyAgICAgICAgICAgICAgICBleGl0KDEpOworICAgICAgICAgICAg fQorICAgICAgICAgICAgaWYgKGRvd3JpdGUpCisgICAgICAgICAgICAgICAgZm9yIChqID0g MDsgaiA8IGNodW5rc2l6ZTsgaisrKQorICAgICAgICAgICAgICAgICAgICAqKG1lbStqKSA9 ICdhJzsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIHRzdF9y ZXNtKFRJTkZPLCAiYWxsb2NhdGVkICVsdSBieXRlcyBjaHVua3NpemUgaXMgJWQiLCBieXRl Y291bnQsIGNodW5rc2l6ZSk7CisgICAgICAgICAgICBieXRlY291bnQgKz0gY2h1bmtzaXpl OworICAgICAgICAgICAgaWYgKGFsbG9jX2J5dGVzICYmIGJ5dGVjb3VudCA+PSBhbGxvY19i eXRlcykKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAo ZG93cml0ZSkKKyAgICAgICAgICAgIHRzdF9yZXNtKFRJTkZPLCAiLi4uICVsdSBieXRlcyBh bGxvY2F0ZWQgYW5kIHVzZWQuIiwgYnl0ZWNvdW50KTsKKyAgICAgICAgZWxzZQorICAgICAg ICAgICAgdHN0X3Jlc20oVElORk8sICIuLi4gJWx1IGJ5dGVzIGFsbG9jYXRlZCBvbmx5LiIs IGJ5dGVjb3VudCk7CisgICAgICAgIGtpbGwoZ2V0cHBpZCgpLCBTSUdSVE1JTik7CisgICAg ICAgIHdoaWxlICgxKQorICAgICAgICAgICAgc2xlZXAoMSk7CiAgICAgfQotICAgIHdoaWxl IChwaWRfbGlzdFtpXSE9MCkKKyAgICBlbHNlICAgICAgICAgICAgICAgICAgLyoqIFBBUkVO VCAqKi8KICAgICB7Ci0gICAgICBraWxsKHBpZF9saXN0W2ldLFNJR0tJTEwpOwotICAgICAg aSsrOworICAgICAgICBpID0gMDsKKyAgICAgICAgc3lzaW5mbygmc3N0YXRzKTsKKyAgICAg ICAgCisgICAgICAgIGlmIChkb3dyaXRlKSAKKyAgICAgICAgeworICAgICAgICAgICAgLyog VG90YWwgRnJlZSBQb3N0LVRlc3QgUkFNICovCisgICAgICAgICAgICBwb3N0X21lbSA9ICh1 bnNpZ25lZCBsb25nIGxvbmcpc3N0YXRzLm1lbV91bml0ICogc3N0YXRzLmZyZWVyYW07Cisg ICAgICAgICAgICBwb3N0X21lbSA9IHBvc3RfbWVtICsgKHVuc2lnbmVkIGxvbmcgbG9uZylz c3RhdHMubWVtX3VuaXQgKiBzc3RhdHMuZnJlZXN3YXA7CisKKyAgICAgICAgICAgIHdoaWxl ICgoKCh1bnNpZ25lZCBsb25nIGxvbmcpcHJlX21lbSAtIHBvc3RfbWVtKSA8ICh1bnNpZ25l ZCBsb25nIGxvbmcpb3JpZ2luYWxfbWF4Ynl0ZXMpICYmCisgICAgICAgICAgICAgICAgICAg IChwaWRfY291bnQgPCBwaWRfY250cikpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgc2xlZXAoMSk7CisgICAgICAgICAgICAgICAgc3lzaW5mbygmc3N0YXRzKTsKKyAgICAg ICAgICAgICAgICBwb3N0X21lbSA9ICh1bnNpZ25lZCBsb25nIGxvbmcpc3N0YXRzLm1lbV91 bml0ICogc3N0YXRzLmZyZWVyYW07CisgICAgICAgICAgICAgICAgcG9zdF9tZW0gPSBwb3N0 X21lbSArICh1bnNpZ25lZCBsb25nIGxvbmcpc3N0YXRzLm1lbV91bml0ICogc3N0YXRzLmZy ZWVzd2FwOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHdoaWxlIChwaWRf bGlzdFtpXSAhPSAwKQorICAgICAgICB7CisgICAgICAgICAgICBraWxsKHBpZF9saXN0W2ld LCBTSUdLSUxMKTsKKyAgICAgICAgICAgIGkrKzsKKyAgICAgICAgfQorICAgICAgICBpZiAo ZG93cml0ZSkKKyAgICAgICAgICAgIHRzdF9yZXNtKFRQQVNTLCAiJWxsdSBrYnl0ZXMgYWxs b2NhdGVkIGFuZCB1c2VkLiIsIG9yaWdpbmFsX21heGJ5dGVzLzEwMjQpOworICAgICAgICBl bHNlCisgICAgICAgICAgICB0c3RfcmVzbShUUEFTUywgIiVsbHUga2J5dGVzIGFsbG9jYXRl ZCBvbmx5LiIsIG9yaWdpbmFsX21heGJ5dGVzLzEwMjQpOwogICAgIH0KLSAgICBpZiAoZG93 cml0ZSkKLSAgICAgIHRzdF9yZXNtKFRQQVNTLCAiJWxsdSBrYnl0ZXMgYWxsb2NhdGVkIGFu ZCB1c2VkLiIsIG9yaWdpbmFsX21heGJ5dGVzLzEwMjQpOwotICAgIGVsc2UKLSAgICAgIHRz dF9yZXNtKFRQQVNTLCAiJWxsdSBrYnl0ZXMgYWxsb2NhdGVkIG9ubHkuIiwgb3JpZ2luYWxf bWF4Ynl0ZXMvMTAyNCk7Ci0gIH0KLSAgZXhpdCgwKTsKLX0KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCisgICAgZnJlZShwaWRfbGlzdCk7CisgICAgZXhpdCgwKTsKK30KLS0gCjEu Ny4zLjQKCg== --------------050304010104030600040505 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl --------------050304010104030600040505 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list --------------050304010104030600040505--