From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M3EUY-0002tH-U0 for qemu-devel@nongnu.org; Sun, 10 May 2009 15:15:18 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M3EUT-0002qr-CY for qemu-devel@nongnu.org; Sun, 10 May 2009 15:15:18 -0400 Received: from [199.232.76.173] (port=49520 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M3EUT-0002qo-7M for qemu-devel@nongnu.org; Sun, 10 May 2009 15:15:13 -0400 Received: from mail-qy0-f111.google.com ([209.85.221.111]:48787) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M3EUS-0005Hg-OZ for qemu-devel@nongnu.org; Sun, 10 May 2009 15:15:13 -0400 Received: by qyk9 with SMTP id 9so3199327qyk.4 for ; Sun, 10 May 2009 12:15:11 -0700 (PDT) MIME-Version: 1.0 Date: Mon, 11 May 2009 03:15:11 +0800 Message-ID: From: Chih-Min Chao Content-Type: multipart/mixed; boundary=0016364270d645623f046993ae6c Subject: [Qemu-devel] [PATCH] suppress 'warn_unused_result' warning List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --0016364270d645623f046993ae6c Content-Type: multipart/alternative; boundary=0016364270d6456232046993ae6a --0016364270d6456232046993ae6a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit The patch add error handling to functions with 'warn_unused_result' return value such as write, read, ftruncate, and realpath. --0016364270d6456232046993ae6a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit The patch add error handling to functions with 'warn_unused_result' return value
such as write, read, ftruncate, and realpath.

--0016364270d6456232046993ae6a-- --0016364270d645623f046993ae6c Content-Type: text/x-patch; charset=US-ASCII; name="0001-add-error-handling-to-suppress-warn_unused_result.patch" Content-Disposition: attachment; filename="0001-add-error-handling-to-suppress-warn_unused_result.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fuk4ewyf0 RnJvbSA2MTg1MWY2NTI2NmVhYWZkNGZmODc3NWMwOTdkYWZkN2MyZDNhMmMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDaGloLU1paCBDaGFvIDxjbWNoYW9AZ21haWwuY29tPgpEYXRl OiBNb24sIDExIE1heSAyMDA5IDAyOjU3OjA1ICswODAwClN1YmplY3Q6IFtQQVRDSF0gYWRkIGVy cm9yIGhhbmRsaW5nIHRvIHN1cHByZXNzICd3YXJuX3VudXNlZF9yZXN1bHQnIHdhcm5pbmcKCi0t LQogYmxvY2stYm9jaHMuYyAgICAgfCAgICAzICsrLQogYmxvY2stY293LmMgICAgICAgfCAgIDEx ICsrKysrKysrKy0tCiBibG9jay1xY293LmMgICAgICB8ICAgMTcgKysrKysrKysrKysrKystLS0K IGJsb2NrLXFjb3cyLmMgICAgIHwgICAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLQogYmxvY2stcmF3LXBvc2l4LmMgfCAgICA1ICsrKystCiBibG9jay12bWRrLmMgICAg ICB8ICAgMjYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGJsb2NrLXZ2ZmF0LmMgICAgIHwg ICAgNCArKystCiBibG9jay5jICAgICAgICAgICB8ICAgIDMgKystCiBxZW11LW5iZC5jICAgICAg ICB8ICAgIDMgKystCiB1c2ItbGludXguYyAgICAgICB8ICAgIDQgKysrLQogdmwuYyAgICAgICAg ICAgICAgfCAgIDE4ICsrKysrKysrKysrKysrLS0tLQogMTEgZmlsZXMgY2hhbmdlZCwgMTAyIGlu c2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Jsb2NrLWJvY2hzLmMg Yi9ibG9jay1ib2Nocy5jCmluZGV4IDdhNzU0MTIuLjk3ZWM1MjggMTAwNjQ0Ci0tLSBhL2Jsb2Nr LWJvY2hzLmMKKysrIGIvYmxvY2stYm9jaHMuYwpAQCAtMTk4LDcgKzE5OCw4IEBAIHN0YXRpYyBp bmxpbmUgaW50IHNlZWtfdG9fc2VjdG9yKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBpbnQ2NF90IHNl Y3Rvcl9udW0pCiAgICAgLy8gcmVhZCBpbiBiaXRtYXAgZm9yIGN1cnJlbnQgZXh0ZW50CiAgICAg bHNlZWsocy0+ZmQsIGJpdG1hcF9vZmZzZXQgKyAoZXh0ZW50X29mZnNldCAvIDgpLCBTRUVLX1NF VCk7CiAKLSAgICByZWFkKHMtPmZkLCAmYml0bWFwX2VudHJ5LCAxKTsKKyAgICBpZiAocmVhZChz LT5mZCwgJmJpdG1hcF9lbnRyeSwgMSkgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKIAogICAg IGlmICghKChiaXRtYXBfZW50cnkgPj4gKGV4dGVudF9vZmZzZXQgJSA4KSkgJiAxKSkKICAgICB7 CmRpZmYgLS1naXQgYS9ibG9jay1jb3cuYyBiL2Jsb2NrLWNvdy5jCmluZGV4IDE3ZTMyOTIuLmMw ZTM5MTEgMTAwNjQ0Ci0tLSBhL2Jsb2NrLWNvdy5jCisrKyBiL2Jsb2NrLWNvdy5jCkBAIC0yMzks MTEgKzIzOSwxOCBAQCBzdGF0aWMgaW50IGNvd19jcmVhdGUoY29uc3QgY2hhciAqZmlsZW5hbWUs IGludDY0X3QgaW1hZ2Vfc2VjdG9ycywKICAgICB9CiAgICAgY293X2hlYWRlci5zZWN0b3JzaXpl ID0gY3B1X3RvX2JlMzIoNTEyKTsKICAgICBjb3dfaGVhZGVyLnNpemUgPSBjcHVfdG9fYmU2NChp bWFnZV9zZWN0b3JzICogNTEyKTsKLSAgICB3cml0ZShjb3dfZmQsICZjb3dfaGVhZGVyLCBzaXpl b2YoY293X2hlYWRlcikpOworICAgIGlmICh3cml0ZShjb3dfZmQsICZjb3dfaGVhZGVyLCBzaXpl b2YoY293X2hlYWRlcikpID09IC0xKQorICAgICAgICBnb3RvIGZhaWw7CiAgICAgLyogcmVzaXpl IHRvIGluY2x1ZGUgYXQgbGVhc3QgYWxsIHRoZSBiaXRtYXAgKi8KLSAgICBmdHJ1bmNhdGUoY293 X2ZkLCBzaXplb2YoY293X2hlYWRlcikgKyAoKGltYWdlX3NlY3RvcnMgKyA3KSA+PiAzKSk7Cisg ICAgaWYgKGZ0cnVuY2F0ZShjb3dfZmQsIHNpemVvZihjb3dfaGVhZGVyKSArICgoaW1hZ2Vfc2Vj dG9ycyArIDcpID4+IDMpKSA9PSAtMSkKKyAgICAgICAgZ290byBmYWlsOworCiAgICAgY2xvc2Uo Y293X2ZkKTsKICAgICByZXR1cm4gMDsKKworZmFpbDoKKyAgICBjbG9zZShjb3dfZmQpOworICAg IHJldHVybiAtMTsKIH0KIAogc3RhdGljIHZvaWQgY293X2ZsdXNoKEJsb2NrRHJpdmVyU3RhdGUg KmJzKQpkaWZmIC0tZ2l0IGEvYmxvY2stcWNvdy5jIGIvYmxvY2stcWNvdy5jCmluZGV4IGZjNmI4 MDkuLjE2MTM4ZjMgMTAwNjQ0Ci0tLSBhL2Jsb2NrLXFjb3cuYworKysgYi9ibG9jay1xY293LmMK QEAgLTgxMSwxNyArODExLDI4IEBAIHN0YXRpYyBpbnQgcWNvd19jcmVhdGUoY29uc3QgY2hhciAq ZmlsZW5hbWUsIGludDY0X3QgdG90YWxfc2l6ZSwKICAgICB9CiAKICAgICAvKiB3cml0ZSBhbGwg dGhlIGRhdGEgKi8KLSAgICB3cml0ZShmZCwgJmhlYWRlciwgc2l6ZW9mKGhlYWRlcikpOworICAg IGlmICh3cml0ZShmZCwgJmhlYWRlciwgc2l6ZW9mKGhlYWRlcikpID09IC0xKSB7CisgICAgICAg IGdvdG8gZmFpbDsKKyAgICB9CisKICAgICBpZiAoYmFja2luZ19maWxlKSB7Ci0gICAgICAgIHdy aXRlKGZkLCBiYWNraW5nX2ZpbGUsIGJhY2tpbmdfZmlsZW5hbWVfbGVuKTsKKyAgICAgICAgaWYg KHdyaXRlKGZkLCBiYWNraW5nX2ZpbGUsIGJhY2tpbmdfZmlsZW5hbWVfbGVuKSA9PSAtMSkgewor ICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICB9CiAgICAgfQogICAgIGxzZWVrKGZkLCBo ZWFkZXJfc2l6ZSwgU0VFS19TRVQpOwogICAgIHRtcCA9IDA7CiAgICAgZm9yKGkgPSAwO2kgPCBs MV9zaXplOyBpKyspIHsKLSAgICAgICAgd3JpdGUoZmQsICZ0bXAsIHNpemVvZih0bXApKTsKKyAg ICAgICAgaWYgKHdyaXRlKGZkLCAmdG1wLCBzaXplb2YodG1wKSkgPT0gLTEpIHsKKyAgICAgICAg ICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQogICAgIH0KICAgICBjbG9zZShmZCk7CiAgICAgcmV0 dXJuIDA7CisKK2ZhaWw6CisgICAgY2xvc2UoZmQpOworICAgIHJldHVybiAtMTsKIH0KIAogc3Rh dGljIGludCBxY293X21ha2VfZW1wdHkoQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCmRpZmYgLS1naXQg YS9ibG9jay1xY293Mi5jIGIvYmxvY2stcWNvdzIuYwppbmRleCA5YTQ5Nzc3Li4xMzA2ZjQyIDEw MDY0NAotLS0gYS9ibG9jay1xY293Mi5jCisrKyBiL2Jsb2NrLXFjb3cyLmMKQEAgLTE2NjIsNyAr MTY2Miw5IEBAIHN0YXRpYyBpbnQgcWNvd19jcmVhdGUyKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBp bnQ2NF90IHRvdGFsX3NpemUsCiAgICAgY3JlYXRlX3JlZmNvdW50X3VwZGF0ZShzLCBzLT5yZWZj b3VudF9ibG9ja19vZmZzZXQsIHJlZl9jbHVzdGVycyAqIHMtPmNsdXN0ZXJfc2l6ZSk7CiAKICAg ICAvKiB3cml0ZSBhbGwgdGhlIGRhdGEgKi8KLSAgICB3cml0ZShmZCwgJmhlYWRlciwgc2l6ZW9m KGhlYWRlcikpOworICAgIGlmICh3cml0ZShmZCwgJmhlYWRlciwgc2l6ZW9mKGhlYWRlcikpID09 IC0xKSB7CisgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9CiAgICAgaWYgKGJhY2tpbmdfZmlsZSkg ewogICAgICAgICBpZiAoYmFja2luZ19mb3JtYXRfbGVuKSB7CiAgICAgICAgICAgICBjaGFyIHpl cm9bMTZdOwpAQCAtMTY3MSwyOSArMTY3Myw0OSBAQCBzdGF0aWMgaW50IHFjb3dfY3JlYXRlMihj b25zdCBjaGFyICpmaWxlbmFtZSwgaW50NjRfdCB0b3RhbF9zaXplLAogICAgICAgICAgICAgbWVt c2V0KHplcm8sIDAsIHNpemVvZih6ZXJvKSk7CiAgICAgICAgICAgICBjcHVfdG9fYmUzMnMoJmV4 dF9iZi5tYWdpYyk7CiAgICAgICAgICAgICBjcHVfdG9fYmUzMnMoJmV4dF9iZi5sZW4pOwotICAg ICAgICAgICAgd3JpdGUoZmQsICZleHRfYmYsIHNpemVvZihleHRfYmYpKTsKLSAgICAgICAgICAg IHdyaXRlKGZkLCBiYWNraW5nX2Zvcm1hdCwgYmFja2luZ19mb3JtYXRfbGVuKTsKKyAgICAgICAg ICAgIGlmICh3cml0ZShmZCwgJmV4dF9iZiwgc2l6ZW9mKGV4dF9iZikpID09IC0xKSB7CisgICAg ICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdy aXRlKGZkLCBiYWNraW5nX2Zvcm1hdCwgYmFja2luZ19mb3JtYXRfbGVuKSA9PSAtMSkgeworICAg ICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChk PjApIHsKLSAgICAgICAgICAgICAgICB3cml0ZShmZCwgemVybywgZCk7CisgICAgICAgICAgICAg ICAgaWYgKHdyaXRlKGZkLCB6ZXJvLCBkKSA9PSAtMSkgeworICAgICAgICAgICAgICAgICAgICBn b3RvIGZhaWw7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9Ci0g ICAgICAgIHdyaXRlKGZkLCBiYWNraW5nX2ZpbGUsIGJhY2tpbmdfZmlsZW5hbWVfbGVuKTsKKyAg ICAgICAgaWYgKHdyaXRlKGZkLCBiYWNraW5nX2ZpbGUsIGJhY2tpbmdfZmlsZW5hbWVfbGVuKSA9 PSAtMSkgeworCSAgICBnb3RvIGZhaWw7CisJfQogICAgIH0KICAgICBsc2VlayhmZCwgcy0+bDFf dGFibGVfb2Zmc2V0LCBTRUVLX1NFVCk7CiAgICAgdG1wID0gMDsKICAgICBmb3IoaSA9IDA7aSA8 IGwxX3NpemU7IGkrKykgewotICAgICAgICB3cml0ZShmZCwgJnRtcCwgc2l6ZW9mKHRtcCkpOwor ICAgICAgICBpZiAod3JpdGUoZmQsICZ0bXAsIHNpemVvZih0bXApKSA9PSAtMSkgeworICAgICAg ICAgICAgZ290byBmYWlsOworICAgICAgICB9CiAgICAgfQogICAgIGxzZWVrKGZkLCBzLT5yZWZj b3VudF90YWJsZV9vZmZzZXQsIFNFRUtfU0VUKTsKLSAgICB3cml0ZShmZCwgcy0+cmVmY291bnRf dGFibGUsIHMtPmNsdXN0ZXJfc2l6ZSk7CisgICAgaWYgKHdyaXRlKGZkLCBzLT5yZWZjb3VudF90 YWJsZSwgcy0+Y2x1c3Rlcl9zaXplKSA9PSAtMSkgeworICAgICAgICBnb3RvIGZhaWw7CisgICAg fQogCiAgICAgbHNlZWsoZmQsIHMtPnJlZmNvdW50X2Jsb2NrX29mZnNldCwgU0VFS19TRVQpOwot ICAgIHdyaXRlKGZkLCBzLT5yZWZjb3VudF9ibG9jaywgcmVmX2NsdXN0ZXJzICogcy0+Y2x1c3Rl cl9zaXplKTsKKyAgICBpZiAod3JpdGUoZmQsIHMtPnJlZmNvdW50X2Jsb2NrLCByZWZfY2x1c3Rl cnMgKiBzLT5jbHVzdGVyX3NpemUpID09IC0xKSB7CisgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9 CiAKICAgICBxZW11X2ZyZWUocy0+cmVmY291bnRfdGFibGUpOwogICAgIHFlbXVfZnJlZShzLT5y ZWZjb3VudF9ibG9jayk7CiAgICAgY2xvc2UoZmQpOwogICAgIHJldHVybiAwOworCitmYWlsOgor ICAgIHFlbXVfZnJlZShzLT5yZWZjb3VudF90YWJsZSk7CisgICAgcWVtdV9mcmVlKHMtPnJlZmNv dW50X2Jsb2NrKTsKKyAgICBjbG9zZShmZCk7CisgICAgcmV0dXJuIC0xOwogfQogCiBzdGF0aWMg aW50IHFjb3dfY3JlYXRlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQ2NF90IHRvdGFsX3NpemUs CmRpZmYgLS1naXQgYS9ibG9jay1yYXctcG9zaXguYyBiL2Jsb2NrLXJhdy1wb3NpeC5jCmluZGV4 IDA2NjNjMDYuLjNhY2U0NTAgMTAwNjQ0Ci0tLSBhL2Jsb2NrLXJhdy1wb3NpeC5jCisrKyBiL2Js b2NrLXJhdy1wb3NpeC5jCkBAIC04MzUsNyArODM1LDEwIEBAIHN0YXRpYyBpbnQgcmF3X2NyZWF0 ZShjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50NjRfdCB0b3RhbF9zaXplLAogICAgICAgICAgICAg ICAwNjQ0KTsKICAgICBpZiAoZmQgPCAwKQogICAgICAgICByZXR1cm4gLUVJTzsKLSAgICBmdHJ1 bmNhdGUoZmQsIHRvdGFsX3NpemUgKiA1MTIpOworICAgIGlmIChmdHJ1bmNhdGUoZmQsIHRvdGFs X3NpemUgKiA1MTIpIDwgMCkgeworICAgICAgICBjbG9zZShmZCk7CisgICAgICAgIHJldHVybiAt RUlPOworICAgIH0KICAgICBjbG9zZShmZCk7CiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQg YS9ibG9jay12bWRrLmMgYi9ibG9jay12bWRrLmMKaW5kZXggZDQ3ZDQ4My4uYjg4MDM3NyAxMDA2 NDQKLS0tIGEvYmxvY2stdm1kay5jCisrKyBiL2Jsb2NrLXZtZGsuYwpAQCAtMjMyLDcgKzIzMiw4 IEBAIHN0YXRpYyBpbnQgdm1ka19zbmFwc2hvdF9jcmVhdGUoY29uc3QgY2hhciAqZmlsZW5hbWUs IGNvbnN0IGNoYXIgKmJhY2tpbmdfZmlsZSkKICAgICBtZW1zZXQoJmhlYWRlciwgMCwgc2l6ZW9m KGhlYWRlcikpOwogICAgIG1lbWNweSgmaGVhZGVyLCZoZHJbNF0sIHNpemVvZihoZWFkZXIpKTsg Ly8gc2tpcCB0aGUgVk1ESzRfTUFHSUMKIAotICAgIGZ0cnVuY2F0ZShzbnBfZmQsIGhlYWRlci5n cmFpbl9vZmZzZXQgPDwgOSk7CisgICAgaWYgKGZ0cnVuY2F0ZShzbnBfZmQsIGhlYWRlci5ncmFp bl9vZmZzZXQgPDwgOSkgPT0gLTEpCisgICAgICAgIGdvdG8gZmFpbDsKICAgICAvKiB0aGUgZGVz Y3JpcHRvciBvZmZzZXQgPSAweDIwMCAqLwogICAgIGlmIChsc2VlayhwX2ZkLCAweDIwMCwgU0VF S19TRVQpID09IC0xKQogICAgICAgICBnb3RvIGZhaWw7CkBAIC03NTYsMjIgKzc1NywyOCBAQCBz dGF0aWMgaW50IHZtZGtfY3JlYXRlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQ2NF90IHRvdGFs X3NpemUsCiAgICAgaGVhZGVyLmNoZWNrX2J5dGVzWzNdID0gMHhhOwogCiAgICAgLyogd3JpdGUg YWxsIHRoZSBkYXRhICovCi0gICAgd3JpdGUoZmQsICZtYWdpYywgc2l6ZW9mKG1hZ2ljKSk7Ci0g ICAgd3JpdGUoZmQsICZoZWFkZXIsIHNpemVvZihoZWFkZXIpKTsKKyAgICBpZiAod3JpdGUoZmQs ICZtYWdpYywgc2l6ZW9mKG1hZ2ljKSkgPT0gLTEpCisgICAgICAgIGdvdG8gZmFpbDsKKyAgICBp ZiAod3JpdGUoZmQsICZoZWFkZXIsIHNpemVvZihoZWFkZXIpKSA9PSAtMSkKKyAgICAgICAgZ290 byBmYWlsOwogCi0gICAgZnRydW5jYXRlKGZkLCBoZWFkZXIuZ3JhaW5fb2Zmc2V0IDw8IDkpOwor ICAgIGlmIChmdHJ1bmNhdGUoZmQsIGhlYWRlci5ncmFpbl9vZmZzZXQgPDwgOSkgPT0gLTEpCisg ICAgICAgIGdvdG8gZmFpbDsKIAogICAgIC8qIHdyaXRlIGdyYWluIGRpcmVjdG9yeSAqLwogICAg IGxzZWVrKGZkLCBsZTY0X3RvX2NwdShoZWFkZXIucmdkX29mZnNldCkgPDwgOSwgU0VFS19TRVQp OwogICAgIGZvciAoaSA9IDAsIHRtcCA9IGhlYWRlci5yZ2Rfb2Zmc2V0ICsgZ2Rfc2l6ZTsKICAg ICAgICAgIGkgPCBndF9jb3VudDsgaSsrLCB0bXAgKz0gZ3Rfc2l6ZSkKLSAgICAgICAgd3JpdGUo ZmQsICZ0bXAsIHNpemVvZih0bXApKTsKKyAgICAgICAgaWYgKHdyaXRlKGZkLCAmdG1wLCBzaXpl b2YodG1wKSkgPT0gLTEpCisgICAgICAgICAgICBnb3RvIGZhaWw7CiAKICAgICAvKiB3cml0ZSBi YWNrdXAgZ3JhaW4gZGlyZWN0b3J5ICovCiAgICAgbHNlZWsoZmQsIGxlNjRfdG9fY3B1KGhlYWRl ci5nZF9vZmZzZXQpIDw8IDksIFNFRUtfU0VUKTsKICAgICBmb3IgKGkgPSAwLCB0bXAgPSBoZWFk ZXIuZ2Rfb2Zmc2V0ICsgZ2Rfc2l6ZTsKICAgICAgICAgIGkgPCBndF9jb3VudDsgaSsrLCB0bXAg Kz0gZ3Rfc2l6ZSkKLSAgICAgICAgd3JpdGUoZmQsICZ0bXAsIHNpemVvZih0bXApKTsKKyAgICAg ICAgaWYgKHdyaXRlKGZkLCAmdG1wLCBzaXplb2YodG1wKSkgPT0gLTEpCisgICAgICAgICAgICBn b3RvIGZhaWw7CisKIAogICAgIC8qIGNvbXBvc2UgdGhlIGRlc2NyaXB0b3IgKi8KICAgICByZWFs X2ZpbGVuYW1lID0gZmlsZW5hbWU7CkBAIC03ODgsMTAgKzc5NSwxNSBAQCBzdGF0aWMgaW50IHZt ZGtfY3JlYXRlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQ2NF90IHRvdGFsX3NpemUsCiAKICAg ICAvKiB3cml0ZSB0aGUgZGVzY3JpcHRvciAqLwogICAgIGxzZWVrKGZkLCBsZTY0X3RvX2NwdSho ZWFkZXIuZGVzY19vZmZzZXQpIDw8IDksIFNFRUtfU0VUKTsKLSAgICB3cml0ZShmZCwgZGVzYywg c3RybGVuKGRlc2MpKTsKKyAgICBpZiAod3JpdGUoZmQsIGRlc2MsIHN0cmxlbihkZXNjKSkgPT0g LTEpCisgICAgICAgIGdvdG8gZmFpbDsKIAogICAgIGNsb3NlKGZkKTsKICAgICByZXR1cm4gMDsK KworICAgIGZhaWw6CisgICAgY2xvc2UoZmQpOworICAgIHJldHVybiAtMTsKIH0KIAogc3RhdGlj IHZvaWQgdm1ka19jbG9zZShCbG9ja0RyaXZlclN0YXRlICpicykKZGlmZiAtLWdpdCBhL2Jsb2Nr LXZ2ZmF0LmMgYi9ibG9jay12dmZhdC5jCmluZGV4IDc5MDU5MzEuLjRkZTA5ZmYgMTAwNjQ0Ci0t LSBhL2Jsb2NrLXZ2ZmF0LmMKKysrIGIvYmxvY2stdnZmYXQuYwpAQCAtMjI1Niw3ICsyMjU2LDkg QEAgc3RhdGljIGludCBjb21taXRfb25lX2ZpbGUoQkRSVlZWRkFUU3RhdGUqIHMsCiAJYyA9IGMx OwogICAgIH0KIAotICAgIGZ0cnVuY2F0ZShmZCwgc2l6ZSk7CisgICAgaWYgKGZ0cnVuY2F0ZShm ZCwgc2l6ZSkgPCAwKQorICAgICAgICByZXR1cm4gLTQ7CisKICAgICBjbG9zZShmZCk7CiAKICAg ICByZXR1cm4gY29tbWl0X21hcHBpbmdzKHMsIGZpcnN0X2NsdXN0ZXIsIGRpcl9pbmRleCk7CmRp ZmYgLS1naXQgYS9ibG9jay5jIGIvYmxvY2suYwppbmRleCBhY2I4OTc2Li41NWM2NGM2IDEwMDY0 NAotLS0gYS9ibG9jay5jCisrKyBiL2Jsb2NrLmMKQEAgLTM5NCw3ICszOTQsOCBAQCBpbnQgYmRy dl9vcGVuMihCbG9ja0RyaXZlclN0YXRlICpicywgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBm bGFncywKICAgICAgICAgICAgIHNucHJpbnRmKGJhY2tpbmdfZmlsZW5hbWUsIHNpemVvZihiYWNr aW5nX2ZpbGVuYW1lKSwKICAgICAgICAgICAgICAgICAgICAgICIlcyIsIGZpbGVuYW1lKTsKICAg ICAgICAgZWxzZQotICAgICAgICAgICAgcmVhbHBhdGgoZmlsZW5hbWUsIGJhY2tpbmdfZmlsZW5h bWUpOworICAgICAgICAgICAgaWYgKHJlYWxwYXRoKGZpbGVuYW1lLCBiYWNraW5nX2ZpbGVuYW1l KSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKIAogICAgICAgICByZXQgPSBi ZHJ2X2NyZWF0ZTIoJmJkcnZfcWNvdzIsIHRtcF9maWxlbmFtZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRvdGFsX3NpemUsIGJhY2tpbmdfZmlsZW5hbWUsIApkaWZmIC0tZ2l0IGEvcWVt dS1uYmQuYyBiL3FlbXUtbmJkLmMKaW5kZXggMGFmOTdjYS4uYjYwNjAyZCAxMDA2NDQKLS0tIGEv cWVtdS1uYmQuYworKysgYi9xZW11LW5iZC5jCkBAIC0zNDYsNyArMzQ2LDggQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICBpbnQgc29jazsKIAogICAgICAgICBpZiAo IXZlcmJvc2UpCi0gICAgICAgICAgICBkYWVtb24oMCwgMCk7CS8qIGRldGFjaCBjbGllbnQgYW5k IHNlcnZlciAqLworICAgICAgICAgICAgaWYgKGRhZW1vbigwLCAwKSA9PSAtMSkJLyogZGV0YWNo IGNsaWVudCBhbmQgc2VydmVyICovCisgICAgICAgICAgICAgICAgZXJyeChlcnJubywgIkNvdWxk IG5vdCBydW4gaW4gYmFja2dyb3VuZCIpOwogCiAgICAgICAgIGlmIChzb2NrZXQgPT0gTlVMTCkg ewogICAgICAgICAgICAgc3ByaW50Zihzb2NrcGF0aCwgU09DS0VUX1BBVEgsIGJhc2VuYW1lKGRl dmljZSkpOwpkaWZmIC0tZ2l0IGEvdXNiLWxpbnV4LmMgYi91c2ItbGludXguYwppbmRleCA3MGQ3 YTFjLi45OGU1NWIxIDEwMDY0NAotLS0gYS91c2ItbGludXguYworKysgYi91c2ItbGludXguYwpA QCAtMTE2MCw3ICsxMTYwLDkgQEAgc3RhdGljIGludCB1c2JfaG9zdF9yZWFkX2ZpbGUoY2hhciAq bGluZSwgc2l6ZV90IGxpbmVfc2l6ZSwgY29uc3QgY2hhciAqZGV2aWNlX2YKICAgICAgICAgICAg ICBkZXZpY2VfZmlsZSk7CiAgICAgZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpOwogICAgIGlmIChm KSB7Ci0gICAgICAgIGZnZXRzKGxpbmUsIGxpbmVfc2l6ZSwgZik7CisgICAgICAgIGlmIChmZ2V0 cyhsaW5lLCBsaW5lX3NpemUsIGYpID09IE5VTEwpCisgICAgICAgICAgICBtb25pdG9yX3ByaW50 Zihtb24sICJodXNiOiBjb3VsZCBub3QgcmVhZCAlc1xuIiwgZmlsZW5hbWUpOworCiAgICAgICAg IGZjbG9zZShmKTsKICAgICAgICAgcmV0ID0gMTsKICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEv dmwuYyBiL3ZsLmMKaW5kZXggOGU0ZmJhNi4uN2U4OGVlMSAxMDA2NDQKLS0tIGEvdmwuYworKysg Yi92bC5jCkBAIC0zNjk2LDcgKzM2OTYsOCBAQCBzdGF0aWMgdm9pZCBxZW11X2V2ZW50X2luY3Jl bWVudCh2b2lkKQogICAgIGlmIChpb190aHJlYWRfZmQgPT0gLTEpCiAgICAgICAgIHJldHVybjsK IAotICAgIHdyaXRlKGlvX3RocmVhZF9mZCwgJmJ5dGUsIHNpemVvZihieXRlKSk7CisgICAgaWYg KHdyaXRlKGlvX3RocmVhZF9mZCwgJmJ5dGUsIHNpemVvZihieXRlKSkgPT0gLTEpCisgICAgICAg IHBlcnJvcigiRmFpbGVkIHdyaXRlIGlvX3RocmVhZCIpOwogfQogCiBzdGF0aWMgdm9pZCBxZW11 X2V2ZW50X3JlYWQodm9pZCAqb3BhcXVlKQpAQCAtNTYyOSw3ICs1NjMwLDggQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKICAgICBpZiAocGlkX2ZpbGUgJiYg cWVtdV9jcmVhdGVfcGlkZmlsZShwaWRfZmlsZSkgIT0gMCkgewogICAgICAgICBpZiAoZGFlbW9u aXplKSB7CiAgICAgICAgICAgICB1aW50OF90IHN0YXR1cyA9IDE7Ci0gICAgICAgICAgICB3cml0 ZShmZHNbMV0sICZzdGF0dXMsIDEpOworICAgICAgICAgICAgaWYgKHdyaXRlKGZkc1sxXSwgJnN0 YXR1cywgMSkgPT0gLTEpCisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZCBu b3Qgd3JpdGUgc3RhdHVzXG4iKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBmcHJpbnRm KHN0ZGVyciwgIkNvdWxkIG5vdCBhY3F1aXJlIHBpZCBmaWxlXG4iKTsKICAgICAgICAgZXhpdCgx KTsKQEAgLTYwNDcsNyArNjA0OSwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Ys IGNoYXIgKiplbnZwKQogCWlmIChsZW4gIT0gMSkKIAkgICAgZXhpdCgxKTsKIAotCWNoZGlyKCIv Iik7CisJaWYgKGNoZGlyKCIvIikgPT0gLTEpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJy LCAiY2hhbmdlIGRpcmVjdG9yeSB0byAnLycgZmFpbGVkIik7CisgICAgICAgICAgICBleGl0KDEp OworICAgICAgICB9CisKIAlURlIoZmQgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JEV1IpKTsKIAlp ZiAoZmQgPT0gLTEpCiAJICAgIGV4aXQoMSk7CkBAIC02MDY2LDcgKzYwNzIsMTEgQEAgaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBjaGFyICoqZW52cCkKICAgICAgICAgICAgIGZwcmlu dGYoc3RkZXJyLCAiY2hyb290IGZhaWxlZFxuIik7CiAgICAgICAgICAgICBleGl0KDEpOwogICAg ICAgICB9Ci0gICAgICAgIGNoZGlyKCIvIik7CisKKwlpZiAoY2hkaXIoIi8iKSA9PSAtMSkgewor ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJjaGFuZ2UgZGlyZWN0b3J5IHRvICcvJyBmYWls ZWQiKTsKKyAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAo cnVuX2FzKSB7Ci0tIAoxLjYuMC40Cgo= --0016364270d645623f046993ae6c--