Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pIR4R-00089T-8l for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Jan 2023 09:18:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pIR4P-0001Ju-79 for pgsql-hackers@arkaria.postgresql.org; Thu, 19 Jan 2023 09:18:53 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pIR4O-0001Jk-GX for pgsql-hackers@lists.postgresql.org; Thu, 19 Jan 2023 09:18:52 +0000 Received: from smtp60.i.mail.ru ([217.69.128.40]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pIR4J-0001BH-QK for pgsql-hackers@lists.postgresql.org; Thu, 19 Jan 2023 09:18:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Content-Type:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=Y5gigvIXpMH8ZdBQ3L7tgCEUSPdG/4W+3HsLX7+GeHQ=; t=1674119927;x=1674209927; b=f81j/ZpMeGg5GSgQy8UCH/7OVC897QhMdPhbuHSMo18emKIwNE5WYmr1aHB9C0Q5WtJidnZpXf0nBEo+RbBs0MIjdqItDu3vr+DLcaZoZwHPhYBZ2bN5fsTiEt9Jb+2Cn4pOWQp3QsiX1CRmyu11ifve+Py5IjgOCM2fXNXgzUFxX0XQE58jbSGqljZb4cxYuxvzE8sXAWd21a12yg6tB/dNjjzgqHftH8L2zW6GnZo5YytaDTmRchfL/lwajBtJ00pbOGFNKN9aPe4ddvd5ELKkkLUoQQZCnXN7hGISRzIUMimzDPJq7Wr5sygojBhZ/nEldXZA+TW5Kgwm93MSyg==; Received: by smtp60.i.mail.ru with esmtpa (envelope-from ) id 1pIR4G-0002Ic-5c; Thu, 19 Jan 2023 12:18:44 +0300 Content-Type: multipart/mixed; boundary="------------uk6Q0q0BQIE6OLQFIDyXvtoa" Message-ID: <3e4d85d4-b062-f5a0-fda3-d5b84fd824b7@mail.ru> Date: Thu, 19 Jan 2023 16:18:42 +0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: Stack overflow issue Content-Language: en-US To: Sascha Kuhl Cc: PostgreSQL Hackers References: <1661334672.728714027@f473.i.mail.ru> From: Egor Chindyaskin In-Reply-To: Authentication-Results: smtp60.i.mail.ru; auth=pass smtp.auth=kyzevan23@mail.ru smtp.mailfrom=kyzevan23@mail.ru X-Mailru-Src: smtp X-7564579A: 78E4E2B564C1792B X-77F55803: 4F1203BC0FB41BD90D1502B3BE350FE4736FC4076420874E19255304332EEB6200894C459B0CD1B9898B50663E3B53CDB5183108CCC191EA42DF43930D763B383406BBAD765D5998 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE77F3E0A4828C8B68EEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637E25DEE08FA4D750E8638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8152F9A4164C8880D0586989A55E0ADD46F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE7091DF79175D473BF9FA2833FD35BB23D9E625A9149C048EE1E561CDFBCA1751FE5D25F19253116ADD2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8B3D810FF210572CA4A471835C12D1D977C4224003CC836476EB9C4185024447017B076A6E789B0E975F5C1EE8F4F765FC28366B64BBA8F4EE3AA81AA40904B5D9CF19DD082D7633A078D18283394535A93AA81AA40904B5D98AA50765F7900637EBCF11E3B411CE56D81D268191BDAD3D3666184CF4C3C14F3FC91FA280E0CE3D1A620F70A64A45A98AA50765F7900637F9425D8FA97DB4396D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F790063799596CA5BD48CA33EFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34E420FF71F2F0FE03FD1A7CDB3FA39FB3F427B85AA83C18B9F5294AD5797C30842D27887CBB9C839B1D7E09C32AA3244CD61C4C1814E8449502E8D27F31DE6AD0A8CE788DE6831205729B2BEF169E0186 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojqkNrV40V0b58QyTzoQl9kg== X-Mailru-Sender: AAD8E2226B689FDA950365B613C32A1D845DD9A9C1B9241ED31E934247E6D1E921401CF93FD6FA558B56E149C3CDE1461170AA15965E4D6186FB8570D198C03364D7B7DF75B912095BDD0C8AD1BA267E1F2404E028CBBBBD0DACDBF337005A970D4ABDE8C577C2ED X-Mras: Ok List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------uk6Q0q0BQIE6OLQFIDyXvtoa Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello! In continuation of the topic, I, under the leadership of Alexander Lakhin, prepared patches that fix these problems. We decided that these checks would be enough and put them in the places we saw fit. --------------uk6Q0q0BQIE6OLQFIDyXvtoa Content-Type: text/x-patch; charset=UTF-8; name="stack_overflow_fix_11.patch" Content-Disposition: attachment; filename="stack_overflow_fix_11.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYwppbmRleCBmZDFhN2FjNWQ1Li4zMThmNjIw ZWQ1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGFjdC5jCkBAIC0yODEyLDYgKzI4MTIs OSBAQCBDb21taXRUcmFuc2FjdGlvbkNvbW1hbmQodm9pZCkKIHsKIAlUcmFuc2FjdGlvblN0 YXRlIHMgPSBDdXJyZW50VHJhbnNhY3Rpb25TdGF0ZTsKIAorCS8qIHNpbmNlIHRoaXMgZnVu Y3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAq LworCWNoZWNrX3N0YWNrX2RlcHRoKCk7CisKIAlzd2l0Y2ggKHMtPmJsb2NrU3RhdGUpCiAJ ewogCQkJLyoKQEAgLTUxOTQsNiArNTE5Nyw5IEBAIFNob3dUcmFuc2FjdGlvblN0YXRlUmVj KGNvbnN0IGNoYXIgKnN0ciwgVHJhbnNhY3Rpb25TdGF0ZSBzKQogewogCVN0cmluZ0luZm9E YXRhIGJ1ZjsKIAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxk IGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNrX2RlcHRoKCk7 CisKIAlpbml0U3RyaW5nSW5mbygmYnVmKTsKIAogCWlmIChzLT5uQ2hpbGRYaWRzID4gMCkK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKaW5kZXggZjg1MTBhMTQ4My4uZDFiYmMxMWQz YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKKysrIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTc0LDYgKzc0LDcgQEAKICNp bmNsdWRlICJub2Rlcy9ub2RlRnVuY3MuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2V0cmVl LmgiCiAjaW5jbHVkZSAicmV3cml0ZS9yZXdyaXRlUmVtb3ZlLmgiCisjaW5jbHVkZSAibWlz Y2FkbWluLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCiAjaW5jbHVkZSAidXRpbHMv Zm1ncm9pZHMuaCIKICNpbmNsdWRlICJ1dGlscy9ndWMuaCIKQEAgLTQ4OSw2ICs0OTAsMTEg QEAgZmluZERlcGVuZGVudE9iamVjdHMoY29uc3QgT2JqZWN0QWRkcmVzcyAqb2JqZWN0LAog CWlmIChzdGFja19hZGRyZXNzX3ByZXNlbnRfYWRkX2ZsYWdzKG9iamVjdCwgb2JqZmxhZ3Ms IHN0YWNrKSkKIAkJcmV0dXJuOwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNl cywgaXQgY291bGQgYmUgZHJpdmVuIHRvIHN0YWNrIG92ZXJmbG93LAorCSAqIGJlY2F1c2Ug b2YgdGhlIGRlZXAgZGVwZW5kZW5jeSB0cmVlLCBub3Qgb25seSBkdWUgdG8gZGVwZW5kZW5j eSBsb29wcy4KKwkgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJLyoKIAkgKiBJdCdz IGFsc28gcG9zc2libGUgdGhhdCB0aGUgdGFyZ2V0IG9iamVjdCBoYXMgYWxyZWFkeSBiZWVu IGNvbXBsZXRlbHkKIAkgKiBwcm9jZXNzZWQgYW5kIHB1dCBpbnRvIHRhcmdldE9iamVjdHMu ICBJZiBzbywgYWdhaW4gd2UganVzdCBhZGQgdGhlCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9jYXRhbG9nL2hlYXAuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCmluZGV4IDg0 NmM1MzAxNTQuLjJmMjQzYmNmNWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv aGVhcC5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCkBAIC01MTMsNiArNTEz LDkgQEAgQ2hlY2tBdHRyaWJ1dGVUeXBlKGNvbnN0IGNoYXIgKmF0dG5hbWUsCiAJY2hhcgkJ YXR0X3R5cHR5cGUgPSBnZXRfdHlwdHlwZShhdHR0eXBpZCk7CiAJT2lkCQkJYXR0X3R5cGVs ZW07CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBk cml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJ aWYgKGF0dF90eXB0eXBlID09IFRZUFRZUEVfUFNFVURPKQogCXsKIAkJLyoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMKaW5kZXggZjU2MjE5OTczZS4uNGNmMDhhMWUwNCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tl bmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTU1NzgsNiArNTU3OCw5IEBAIEFURXhlY0Fk ZENvbHVtbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9u IHJlbCwKIAlBY2xSZXN1bHQJYWNscmVzdWx0OwogCU9iamVjdEFkZHJlc3MgYWRkcmVzczsK IAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxkIGJlIGRyaXZl biB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNrX2RlcHRoKCk7CisKIAkvKiBB dCB0b3AgbGV2ZWwsIHBlcm1pc3Npb24gY2hlY2sgd2FzIGRvbmUgaW4gQVRQcmVwQ21kLCBl bHNlIGRvIGl0ICovCiAJaWYgKHJlY3Vyc2luZykKIAkJQVRTaW1wbGVQZXJtaXNzaW9ucyhy ZWwsIEFUVF9UQUJMRSB8IEFUVF9GT1JFSUdOX1RBQkxFKTsKQEAgLTcwMDQsNiArNzAwNyw5 IEBAIEFURXhlY0Ryb3BDb2x1bW4oTGlzdCAqKndxdWV1ZSwgUmVsYXRpb24gcmVsLCBjb25z dCBjaGFyICpjb2xOYW1lLAogCU9iamVjdEFkZHJlc3Mgb2JqZWN0OwogCWJvb2wJCWlzX2V4 cHI7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBk cml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJ LyogQXQgdG9wIGxldmVsLCBwZXJtaXNzaW9uIGNoZWNrIHdhcyBkb25lIGluIEFUUHJlcENt ZCwgZWxzZSBkbyBpdCAqLwogCWlmIChyZWN1cnNpbmcpCiAJCUFUU2ltcGxlUGVybWlzc2lv bnMocmVsLCBBVFRfVEFCTEUgfCBBVFRfRk9SRUlHTl9UQUJMRSk7CkBAIC04NTYzLDYgKzg1 NjksOSBAQCBBVEV4ZWNBbHRlckNvbnN0clJlY3Vyc2UoQ29uc3RyYWludCAqY21kY29uLCBS ZWxhdGlvbiBjb25yZWwsIFJlbGF0aW9uIHRncmVsLAogCU9pZAkJCWNvbm9pZDsKIAlib29s CQljaGFuZ2VkID0gZmFsc2U7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2Vz LCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFj a19kZXB0aCgpOworCiAJY3VycmNvbiA9IChGb3JtX3BnX2NvbnN0cmFpbnQpIEdFVFNUUlVD VChjb250dXBsZSk7CiAJY29ub2lkID0gSGVhcFR1cGxlR2V0T2lkKGNvbnR1cGxlKTsKIApA QCAtOTU1Miw2ICs5NTYxLDkgQEAgQVRFeGVjRHJvcENvbnN0cmFpbnQoUmVsYXRpb24gcmVs LCBjb25zdCBjaGFyICpjb25zdHJOYW1lLAogCWJvb2wJCWlzX25vX2luaGVyaXRfY29uc3Ry YWludCA9IGZhbHNlOwogCWNoYXIJCWNvbnR5cGU7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0 aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8K KwljaGVja19zdGFja19kZXB0aCgpOworCiAJLyogQXQgdG9wIGxldmVsLCBwZXJtaXNzaW9u IGNoZWNrIHdhcyBkb25lIGluIEFUUHJlcENtZCwgZWxzZSBkbyBpdCAqLwogCWlmIChyZWN1 cnNpbmcpCiAJCUFUU2ltcGxlUGVybWlzc2lvbnMocmVsLCBBVFRfVEFCTEUgfCBBVFRfRk9S RUlHTl9UQUJMRSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9j bGF1c2VzLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9jbGF1c2VzLmMKaW5kZXgg ZWRiNTZhYjNhNC4uNjdiM2ExZjRiZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1p emVyL3V0aWwvY2xhdXNlcy5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2Ns YXVzZXMuYwpAQCAtMjY1MCw2ICsyNjUwLDEwIEBAIHN0YXRpYyBOb2RlICoKIGV2YWxfY29u c3RfZXhwcmVzc2lvbnNfbXV0YXRvcihOb2RlICpub2RlLAogCQkJCQkJCSAgIGV2YWxfY29u c3RfZXhwcmVzc2lvbnNfY29udGV4dCAqY29udGV4dCkKIHsKKworCS8qIHNpbmNlIHRoaXMg ZnVuY3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxv dyAqLworCWNoZWNrX3N0YWNrX2RlcHRoKCk7CisKIAlpZiAobm9kZSA9PSBOVUxMKQogCQly ZXR1cm4gTlVMTDsKIAlzd2l0Y2ggKG5vZGVUYWcobm9kZSkpCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9tbWdyL21jeHQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21tZ3IvbWN4 dC5jCmluZGV4IDIyZGE5OGMxOWQuLjgwMGMxZmZhYzAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL3V0aWxzL21tZ3IvbWN4dC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21tZ3IvbWN4 dC5jCkBAIC0yMTYsNiArMjE2LDkgQEAgTWVtb3J5Q29udGV4dERlbGV0ZShNZW1vcnlDb250 ZXh0IGNvbnRleHQpCiAJLyogQW5kIG5vdCBDdXJyZW50TWVtb3J5Q29udGV4dCwgZWl0aGVy ICovCiAJQXNzZXJ0KGNvbnRleHQgIT0gQ3VycmVudE1lbW9yeUNvbnRleHQpOwogCisJLyog c2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVuIHRvIHN0 YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwogCS8qIHNhdmUgYSBm dW5jdGlvbiBjYWxsIGluIGNvbW1vbiBjYXNlIHdoZXJlIHRoZXJlIGFyZSBubyBjaGlsZHJl biAqLwogCWlmIChjb250ZXh0LT5maXJzdGNoaWxkICE9IE5VTEwpCiAJCU1lbW9yeUNvbnRl eHREZWxldGVDaGlsZHJlbihjb250ZXh0KTsKQEAgLTUxNiw2ICs1MTksOSBAQCBNZW1vcnlD b250ZXh0U3RhdHNJbnRlcm5hbChNZW1vcnlDb250ZXh0IGNvbnRleHQsIGludCBsZXZlbCwK IAogCUFzc2VydEFyZyhNZW1vcnlDb250ZXh0SXNWYWxpZChjb250ZXh0KSk7CiAKKwkvKiBz aW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3Rh Y2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJLyogRXhhbWluZSB0 aGUgY29udGV4dCBpdHNlbGYgKi8KIAljb250ZXh0LT5tZXRob2RzLT5zdGF0cyhjb250ZXh0 LAogCQkJCQkJCXByaW50ID8gTWVtb3J5Q29udGV4dFN0YXRzUHJpbnQgOiBOVUxMLApAQCAt NjQ2LDYgKzY1Miw5IEBAIE1lbW9yeUNvbnRleHRDaGVjayhNZW1vcnlDb250ZXh0IGNvbnRl eHQpCiAKIAlBc3NlcnRBcmcoTWVtb3J5Q29udGV4dElzVmFsaWQoY29udGV4dCkpOwogCisJ Lyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVuIHRv IHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwogCWNvbnRleHQt Pm1ldGhvZHMtPmNoZWNrKGNvbnRleHQpOwogCWZvciAoY2hpbGQgPSBjb250ZXh0LT5maXJz dGNoaWxkOyBjaGlsZCAhPSBOVUxMOyBjaGlsZCA9IGNoaWxkLT5uZXh0Y2hpbGQpCiAJCU1l bW9yeUNvbnRleHRDaGVjayhjaGlsZCk7Cg== --------------uk6Q0q0BQIE6OLQFIDyXvtoa Content-Type: text/x-patch; charset=UTF-8; name="stack_overflow_fix_12_13_14.patch" Content-Disposition: attachment; filename="stack_overflow_fix_12_13_14.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYwppbmRleCBiMzA0YTg1ZDA4Li4zODdlOGFj ZDI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGFjdC5jCkBAIC0yOTEzLDYgKzI5MTMs OSBAQCBDb21taXRUcmFuc2FjdGlvbkNvbW1hbmQodm9pZCkKIHsKIAlUcmFuc2FjdGlvblN0 YXRlIHMgPSBDdXJyZW50VHJhbnNhY3Rpb25TdGF0ZTsKIAorCS8qIHNpbmNlIHRoaXMgZnVu Y3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAq LworCWNoZWNrX3N0YWNrX2RlcHRoKCk7CisKIAlpZiAocy0+Y2hhaW4pCiAJCVNhdmVUcmFu c2FjdGlvbkNoYXJhY3RlcmlzdGljcygpOwogCkBAIC01MzYxLDYgKzUzNjQsOSBAQCBTaG93 VHJhbnNhY3Rpb25TdGF0ZVJlYyhjb25zdCBjaGFyICpzdHIsIFRyYW5zYWN0aW9uU3RhdGUg cykKIHsKIAlTdHJpbmdJbmZvRGF0YSBidWY7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9u IHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwlj aGVja19zdGFja19kZXB0aCgpOworCiAJaW5pdFN0cmluZ0luZm8oJmJ1Zik7CiAKIAlpZiAo cy0+bkNoaWxkWGlkcyA+IDApCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2Rl cGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCmluZGV4IDQ2 Y2VkOWJiNjAuLjMxMTU0NzY2MzIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv ZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCkBA IC03Myw2ICs3Myw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvc2VxdWVuY2UuaCIKICNpbmNs dWRlICJjb21tYW5kcy90cmlnZ2VyLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvdHlwZWNtZHMu aCIKKyNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJub2Rlcy9ub2RlRnVuY3Mu aCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2V0cmVlLmgiCiAjaW5jbHVkZSAicmV3cml0ZS9y ZXdyaXRlUmVtb3ZlLmgiCkBAIC01MDksNiArNTEwLDExIEBAIGZpbmREZXBlbmRlbnRPYmpl Y3RzKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwKIAlpZiAoc3RhY2tfYWRkcmVzc19w cmVzZW50X2FkZF9mbGFncyhvYmplY3QsIG9iamZsYWdzLCBzdGFjaykpCiAJCXJldHVybjsK IAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxkIGJlIGRyaXZl biB0byBzdGFjayBvdmVyZmxvdywKKwkgKiBiZWNhdXNlIG9mIHRoZSBkZWVwIGRlcGVuZGVu Y3kgdHJlZSwgbm90IG9ubHkgZHVlIHRvIGRlcGVuZGVuY3kgbG9vcHMuCisJICovCisJY2hl Y2tfc3RhY2tfZGVwdGgoKTsKKwogCS8qCiAJICogSXQncyBhbHNvIHBvc3NpYmxlIHRoYXQg dGhlIHRhcmdldCBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiBjb21wbGV0ZWx5CiAJICogcHJv Y2Vzc2VkIGFuZCBwdXQgaW50byB0YXJnZXRPYmplY3RzLiAgSWYgc28sIGFnYWluIHdlIGp1 c3QgYWRkIHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMgYi9z cmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwppbmRleCBjZWNjYmRiOGZlLi4zOTVlNWVkZDcx IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYworKysgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtNTk1LDYgKzU5NSw5IEBAIENoZWNrQXR0cmlidXRl VHlwZShjb25zdCBjaGFyICphdHRuYW1lLAogCWNoYXIJCWF0dF90eXB0eXBlID0gZ2V0X3R5 cHR5cGUoYXR0dHlwaWQpOwogCU9pZAkJCWF0dF90eXBlbGVtOwogCisJLyogc2luY2UgdGhp cyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVuIHRvIHN0YWNrIG92ZXJm bG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwogCWlmIChhdHRfdHlwdHlwZSA9PSBU WVBUWVBFX1BTRVVETykKIAl7CiAJCS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmlu ZGV4IGE1N2ZlNjExODcuLjFkYzIzZjIzZGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jCkBAIC01OTAwLDQgKzU5MDAsNyBAQCBBVEV4ZWNBZGRDb2x1bW4oTGlzdCAqKndxdWV1 ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAKKwkvKiBzaW5jZSB0 aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3Zl cmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJLyogQXQgdG9wIGxldmVsLCBw ZXJtaXNzaW9uIGNoZWNrIHdhcyBkb25lIGluIEFUUHJlcENtZCwgZWxzZSBkbyBpdCAqLwog CWlmIChyZWN1cnNpbmcpCiAJCUFUU2ltcGxlUGVybWlzc2lvbnMocmVsLCBBVFRfVEFCTEUg fCBBVFRfRk9SRUlHTl9UQUJMRSk7CkBAIC03NDYwLDYgKzc0NjMsMTAgQEAgQVRFeGVjRHJv cENvbHVtbihMaXN0ICoqd3F1ZXVlLCBSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbE5h bWUsCiAKIAkvKiBJbml0aWFsaXplIGFkZHJzIG9uIHRoZSBmaXJzdCBpbnZvY2F0aW9uICov CiAJQXNzZXJ0KCFyZWN1cnNpbmcgfHwgYWRkcnMgIT0gTlVMTCk7CisKKwkvKiBzaW5jZSB0 aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3Zl cmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJaWYgKCFyZWN1cnNpbmcpCiAJ CWFkZHJzID0gbmV3X29iamVjdF9hZGRyZXNzZXMoKTsKIApAQCAtOTU4Nyw2ICs5NTk0LDkg QEAgQVRFeGVjQWx0ZXJDb25zdHJSZWN1cnNlKENvbnN0cmFpbnQgKmNtZGNvbiwgUmVsYXRp b24gY29ucmVsLCBSZWxhdGlvbiB0Z3JlbCwKIAlPaWQJCQlyZWZyZWxpZDsKIAlib29sCQlj aGFuZ2VkID0gZmFsc2U7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBp dCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19k ZXB0aCgpOworCiAJY3VycmNvbiA9IChGb3JtX3BnX2NvbnN0cmFpbnQpIEdFVFNUUlVDVChj b250dXBsZSk7CiAJY29ub2lkID0gY3VycmNvbi0+b2lkOwogCXJlZnJlbGlkID0gY3VycmNv bi0+Y29uZnJlbGlkOwpAQCAtMTA1NTYsNiArMTA1NjYsOSBAQCBBVEV4ZWNEcm9wQ29uc3Ry YWludChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbnN0ck5hbWUsCiAJYm9vbAkJaXNf bm9faW5oZXJpdF9jb25zdHJhaW50ID0gZmFsc2U7CiAJY2hhcgkJY29udHlwZTsKIAorCS8q IHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxkIGJlIGRyaXZlbiB0byBz dGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNrX2RlcHRoKCk7CisKIAkvKiBBdCB0b3Ag bGV2ZWwsIHBlcm1pc3Npb24gY2hlY2sgd2FzIGRvbmUgaW4gQVRQcmVwQ21kLCBlbHNlIGRv IGl0ICovCiAJaWYgKHJlY3Vyc2luZykKIAkJQVRTaW1wbGVQZXJtaXNzaW9ucyhyZWwsIEFU VF9UQUJMRSB8IEFUVF9GT1JFSUdOX1RBQkxFKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L29wdGltaXplci91dGlsL2NsYXVzZXMuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91dGls L2NsYXVzZXMuYwppbmRleCA5NDZlMjMyY2NhLi43MjZiMzBhNGUyIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9jbGF1c2VzLmMKKysrIGIvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3V0aWwvY2xhdXNlcy5jCkBAIC0yMzkyLDYgKzIzOTIsMTAgQEAgc3RhdGlj IE5vZGUgKgogZXZhbF9jb25zdF9leHByZXNzaW9uc19tdXRhdG9yKE5vZGUgKm5vZGUsCiAJ CQkJCQkJICAgZXZhbF9jb25zdF9leHByZXNzaW9uc19jb250ZXh0ICpjb250ZXh0KQogewor CisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVu IHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwogCWlmIChu b2RlID09IE5VTEwpCiAJCXJldHVybiBOVUxMOwogCXN3aXRjaCAobm9kZVRhZyhub2RlKSkK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29ucGF0aF9leGVjLmMgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvanNvbnBhdGhfZXhlYy5jCmluZGV4IDM3YjA4ZjE3NDIu LmUxMTViMDNhM2QgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29ucGF0 aF9leGVjLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25wYXRoX2V4ZWMuYwpA QCAtMTE2MCw2ICsxMTYwLDkgQEAgZXhlY3V0ZUJvb2xJdGVtKEpzb25QYXRoRXhlY0NvbnRl eHQgKmN4dCwgSnNvblBhdGhJdGVtICpqc3AsCiAJSnNvblBhdGhCb29sIHJlczsKIAlKc29u UGF0aEJvb2wgcmVzMjsKIAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0 IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNrX2Rl cHRoKCk7CisKIAlpZiAoIWNhbkhhdmVOZXh0ICYmIGpzcEhhc05leHQoanNwKSkKIAkJZWxv ZyhFUlJPUiwgImJvb2xlYW4ganNvbnBhdGggaXRlbSBjYW5ub3QgaGF2ZSBuZXh0IGl0ZW0i KTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbW1nci9tY3h0LmMgYi9zcmMv YmFja2VuZC91dGlscy9tbWdyL21jeHQuYwppbmRleCBiMDdiZTEyMjM2Li4xNmVjZjA1Mzhj IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYworKysgYi9zcmMv YmFja2VuZC91dGlscy9tbWdyL21jeHQuYwpAQCAtMjE2LDYgKzIxNiw5IEBAIE1lbW9yeUNv bnRleHREZWxldGUoTWVtb3J5Q29udGV4dCBjb250ZXh0KQogCS8qIEFuZCBub3QgQ3VycmVu dE1lbW9yeUNvbnRleHQsIGVpdGhlciAqLwogCUFzc2VydChjb250ZXh0ICE9IEN1cnJlbnRN ZW1vcnlDb250ZXh0KTsKIAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0 IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNrX2Rl cHRoKCk7CisKIAkvKiBzYXZlIGEgZnVuY3Rpb24gY2FsbCBpbiBjb21tb24gY2FzZSB3aGVy ZSB0aGVyZSBhcmUgbm8gY2hpbGRyZW4gKi8KIAlpZiAoY29udGV4dC0+Zmlyc3RjaGlsZCAh PSBOVUxMKQogCQlNZW1vcnlDb250ZXh0RGVsZXRlQ2hpbGRyZW4oY29udGV4dCk7CkBAIC01 MTYsNiArNTE5LDkgQEAgTWVtb3J5Q29udGV4dFN0YXRzSW50ZXJuYWwoTWVtb3J5Q29udGV4 dCBjb250ZXh0LCBpbnQgbGV2ZWwsCiAKIAlBc3NlcnRBcmcoTWVtb3J5Q29udGV4dElzVmFs aWQoY29udGV4dCkpOwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQg Y291bGQgYmUgZHJpdmVuIHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVw dGgoKTsKKwogCS8qIEV4YW1pbmUgdGhlIGNvbnRleHQgaXRzZWxmICovCiAJY29udGV4dC0+ bWV0aG9kcy0+c3RhdHMoY29udGV4dCwKIAkJCQkJCQlwcmludCA/IE1lbW9yeUNvbnRleHRT dGF0c1ByaW50IDogTlVMTCwKQEAgLTY0Niw2ICs2NTIsOSBAQCBNZW1vcnlDb250ZXh0Q2hl Y2soTWVtb3J5Q29udGV4dCBjb250ZXh0KQogCiAJQXNzZXJ0QXJnKE1lbW9yeUNvbnRleHRJ c1ZhbGlkKGNvbnRleHQpKTsKIAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMs IGl0IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNr X2RlcHRoKCk7CisKIAljb250ZXh0LT5tZXRob2RzLT5jaGVjayhjb250ZXh0KTsKIAlmb3Ig KGNoaWxkID0gY29udGV4dC0+Zmlyc3RjaGlsZDsgY2hpbGQgIT0gTlVMTDsgY2hpbGQgPSBj aGlsZC0+bmV4dGNoaWxkKQogCQlNZW1vcnlDb250ZXh0Q2hlY2soY2hpbGQpOwo= --------------uk6Q0q0BQIE6OLQFIDyXvtoa Content-Type: text/x-patch; charset=UTF-8; name="stack_overflow_fix_15.patch" Content-Disposition: attachment; filename="stack_overflow_fix_15.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYwppbmRleCBkMGU1YmMyNmE3Li44YzE2OTFm ZGQ5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGFjdC5jCkBAIC0zMDI0LDYgKzMwMjQs OSBAQCBDb21taXRUcmFuc2FjdGlvbkNvbW1hbmQodm9pZCkKIAlUcmFuc2FjdGlvblN0YXRl IHMgPSBDdXJyZW50VHJhbnNhY3Rpb25TdGF0ZTsKIAlTYXZlZFRyYW5zYWN0aW9uQ2hhcmFj dGVyaXN0aWNzIHNhdmV0YzsKIAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMs IGl0IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNr X2RlcHRoKCk7CisKIAlTYXZlVHJhbnNhY3Rpb25DaGFyYWN0ZXJpc3RpY3MoJnNhdmV0Yyk7 CiAKIAlzd2l0Y2ggKHMtPmJsb2NrU3RhdGUpCkBAIC01NDcxLDYgKzU0NzQsOSBAQCBTaG93 VHJhbnNhY3Rpb25TdGF0ZVJlYyhjb25zdCBjaGFyICpzdHIsIFRyYW5zYWN0aW9uU3RhdGUg cykKIHsKIAlTdHJpbmdJbmZvRGF0YSBidWY7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9u IHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwlj aGVja19zdGFja19kZXB0aCgpOworCiAJaW5pdFN0cmluZ0luZm8oJmJ1Zik7CiAKIAlpZiAo cy0+bkNoaWxkWGlkcyA+IDApCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2Rl cGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCmluZGV4IDg1 ZTJhOTAyYTIuLjdhNDhhZDYzZWYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv ZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCkBA IC03NSw2ICs3NSw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvdHJpZ2dlci5oIgogI2luY2x1 ZGUgImNvbW1hbmRzL3R5cGVjbWRzLmgiCiAjaW5jbHVkZSAiZnVuY2FwaS5oIgorI2luY2x1 ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgIm5vZGVzL25vZGVGdW5jcy5oIgogI2luY2x1 ZGUgInBhcnNlci9wYXJzZXRyZWUuaCIKICNpbmNsdWRlICJyZXdyaXRlL3Jld3JpdGVSZW1v dmUuaCIKQEAgLTUxNiw2ICs1MTcsMTEgQEAgZmluZERlcGVuZGVudE9iamVjdHMoY29uc3Qg T2JqZWN0QWRkcmVzcyAqb2JqZWN0LAogCWlmIChzdGFja19hZGRyZXNzX3ByZXNlbnRfYWRk X2ZsYWdzKG9iamVjdCwgb2JqZmxhZ3MsIHN0YWNrKSkKIAkJcmV0dXJuOwogCisJLyogc2lu Y2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVuIHRvIHN0YWNr IG92ZXJmbG93LAorCSAqIGJlY2F1c2Ugb2YgdGhlIGRlZXAgZGVwZW5kZW5jeSB0cmVlLCBu b3Qgb25seSBkdWUgdG8gZGVwZW5kZW5jeSBsb29wcy4KKwkgKi8KKwljaGVja19zdGFja19k ZXB0aCgpOworCiAJLyoKIAkgKiBJdCdzIGFsc28gcG9zc2libGUgdGhhdCB0aGUgdGFyZ2V0 IG9iamVjdCBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlbHkKIAkgKiBwcm9jZXNzZWQgYW5k IHB1dCBpbnRvIHRhcmdldE9iamVjdHMuICBJZiBzbywgYWdhaW4gd2UganVzdCBhZGQgdGhl CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvaGVhcC5jCmluZGV4IGEyMWRlODk4NzQuLmU0NjAwMmM5MzIgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvaGVhcC5jCkBAIC01NTIsNiArNTUyLDkgQEAgQ2hlY2tBdHRyaWJ1dGVUeXBlKGNvbnN0 IGNoYXIgKmF0dG5hbWUsCiAJY2hhcgkJYXR0X3R5cHR5cGUgPSBnZXRfdHlwdHlwZShhdHR0 eXBpZCk7CiAJT2lkCQkJYXR0X3R5cGVsZW07CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9u IHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwlj aGVja19zdGFja19kZXB0aCgpOworCiAJaWYgKGF0dF90eXB0eXBlID09IFRZUFRZUEVfUFNF VURPKQogCXsKIAkJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxl Y21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5kZXggZmE0ZmFm ZjNjNS4uZTE5NGFmZjQwZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFi bGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTY3 MDUsNiArNjcwNSw5IEBAIEFURXhlY0FkZENvbHVtbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVk VGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAlUdXBsZURlc2MJdHVwZGVzYzsKIAlG b3JtRGF0YV9wZ19hdHRyaWJ1dGUgKmFhdHRyW10gPSB7JmF0dHJpYnV0ZX07CiAKKwkvKiBz aW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3Rh Y2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJLyogQXQgdG9wIGxl dmVsLCBwZXJtaXNzaW9uIGNoZWNrIHdhcyBkb25lIGluIEFUUHJlcENtZCwgZWxzZSBkbyBp dCAqLwogCWlmIChyZWN1cnNpbmcpCiAJCUFUU2ltcGxlUGVybWlzc2lvbnMoKCpjbWQpLT5z dWJ0eXBlLCByZWwsIEFUVF9UQUJMRSB8IEFUVF9GT1JFSUdOX1RBQkxFKTsKQEAgLTg0MzMs NiArODQzNiwxMCBAQCBBVEV4ZWNEcm9wQ29sdW1uKExpc3QgKip3cXVldWUsIFJlbGF0aW9u IHJlbCwgY29uc3QgY2hhciAqY29sTmFtZSwKIAogCS8qIEluaXRpYWxpemUgYWRkcnMgb24g dGhlIGZpcnN0IGludm9jYXRpb24gKi8KIAlBc3NlcnQoIXJlY3Vyc2luZyB8fCBhZGRycyAh PSBOVUxMKTsKKworCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxk IGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNrX2RlcHRoKCk7 CisKIAlpZiAoIXJlY3Vyc2luZykKIAkJYWRkcnMgPSBuZXdfb2JqZWN0X2FkZHJlc3Nlcygp OwogCkBAIC0xMDg5NSw2ICsxMDkwMiw5IEBAIEFURXhlY0FsdGVyQ29uc3RyUmVjdXJzZShD b25zdHJhaW50ICpjbWRjb24sIFJlbGF0aW9uIGNvbnJlbCwgUmVsYXRpb24gdGdyZWwsCiAJ T2lkCQkJcmVmcmVsaWQ7CiAJYm9vbAkJY2hhbmdlZCA9IGZhbHNlOwogCisJLyogc2luY2Ug dGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVuIHRvIHN0YWNrIG92 ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwogCWN1cnJjb24gPSAoRm9ybV9w Z19jb25zdHJhaW50KSBHRVRTVFJVQ1QoY29udHVwbGUpOwogCWNvbm9pZCA9IGN1cnJjb24t Pm9pZDsKIAlyZWZyZWxpZCA9IGN1cnJjb24tPmNvbmZyZWxpZDsKQEAgLTExODk2LDYgKzEx OTA2LDkgQEAgQVRFeGVjRHJvcENvbnN0cmFpbnQoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFy ICpjb25zdHJOYW1lLAogCWJvb2wJCWlzX25vX2luaGVyaXRfY29uc3RyYWludCA9IGZhbHNl OwogCWNoYXIJCWNvbnR5cGU7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2Vz LCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFj a19kZXB0aCgpOworCiAJLyogQXQgdG9wIGxldmVsLCBwZXJtaXNzaW9uIGNoZWNrIHdhcyBk b25lIGluIEFUUHJlcENtZCwgZWxzZSBkbyBpdCAqLwogCWlmIChyZWN1cnNpbmcpCiAJCUFU U2ltcGxlUGVybWlzc2lvbnMoQVRfRHJvcENvbnN0cmFpbnQsIHJlbCwgQVRUX1RBQkxFIHwg QVRUX0ZPUkVJR05fVEFCTEUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3V0aWwvY2xhdXNlcy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvY2xhdXNlcy5j CmluZGV4IGJmM2E3Y2FlNjAuLmU5MmQwMzE2YWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L29wdGltaXplci91dGlsL2NsYXVzZXMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIv dXRpbC9jbGF1c2VzLmMKQEAgLTIyODEsNiArMjI4MSwxMCBAQCBzdGF0aWMgTm9kZSAqCiBl dmFsX2NvbnN0X2V4cHJlc3Npb25zX211dGF0b3IoTm9kZSAqbm9kZSwKIAkJCQkJCQkgICBl dmFsX2NvbnN0X2V4cHJlc3Npb25zX2NvbnRleHQgKmNvbnRleHQpCiB7CisKKwkvKiBzaW5j ZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sg b3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJaWYgKG5vZGUgPT0gTlVM TCkKIAkJcmV0dXJuIE5VTEw7CiAJc3dpdGNoIChub2RlVGFnKG5vZGUpKQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25wYXRoX2V4ZWMuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9qc29ucGF0aF9leGVjLmMKaW5kZXggYWUyN2JhYWNjZS4uODA5NWY5NTdj OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25wYXRoX2V4ZWMuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvanNvbnBhdGhfZXhlYy5jCkBAIC0xMjMxLDYg KzEyMzEsOSBAQCBleGVjdXRlQm9vbEl0ZW0oSnNvblBhdGhFeGVjQ29udGV4dCAqY3h0LCBK c29uUGF0aEl0ZW0gKmpzcCwKIAlKc29uUGF0aEJvb2wgcmVzOwogCUpzb25QYXRoQm9vbCBy ZXMyOwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUg ZHJpdmVuIHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwog CWlmICghY2FuSGF2ZU5leHQgJiYganNwSGFzTmV4dChqc3ApKQogCQllbG9nKEVSUk9SLCAi Ym9vbGVhbiBqc29ucGF0aCBpdGVtIGNhbm5vdCBoYXZlIG5leHQgaXRlbSIpOwogCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL21tZ3IvbWN4dC5jCmluZGV4IGUxMmJlMWI5YmQuLmQ3NTRiNTExMTMgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL21tZ3IvbWN4dC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL21tZ3IvbWN4dC5jCkBAIC0yMjMsNiArMjIzLDkgQEAgTWVtb3J5Q29udGV4dERlbGV0 ZShNZW1vcnlDb250ZXh0IGNvbnRleHQpCiAJLyogQW5kIG5vdCBDdXJyZW50TWVtb3J5Q29u dGV4dCwgZWl0aGVyICovCiAJQXNzZXJ0KGNvbnRleHQgIT0gQ3VycmVudE1lbW9yeUNvbnRl eHQpOwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUg ZHJpdmVuIHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwog CS8qIHNhdmUgYSBmdW5jdGlvbiBjYWxsIGluIGNvbW1vbiBjYXNlIHdoZXJlIHRoZXJlIGFy ZSBubyBjaGlsZHJlbiAqLwogCWlmIChjb250ZXh0LT5maXJzdGNoaWxkICE9IE5VTEwpCiAJ CU1lbW9yeUNvbnRleHREZWxldGVDaGlsZHJlbihjb250ZXh0KTsKQEAgLTU3Miw2ICs1NzUs OSBAQCBNZW1vcnlDb250ZXh0U3RhdHNJbnRlcm5hbChNZW1vcnlDb250ZXh0IGNvbnRleHQs IGludCBsZXZlbCwKIAogCUFzc2VydEFyZyhNZW1vcnlDb250ZXh0SXNWYWxpZChjb250ZXh0 KSk7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBk cml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJ LyogRXhhbWluZSB0aGUgY29udGV4dCBpdHNlbGYgKi8KIAljb250ZXh0LT5tZXRob2RzLT5z dGF0cyhjb250ZXh0LAogCQkJCQkJCXByaW50ID8gTWVtb3J5Q29udGV4dFN0YXRzUHJpbnQg OiBOVUxMLApAQCAtNzM3LDYgKzc0Myw5IEBAIE1lbW9yeUNvbnRleHRDaGVjayhNZW1vcnlD b250ZXh0IGNvbnRleHQpCiAKIAlBc3NlcnRBcmcoTWVtb3J5Q29udGV4dElzVmFsaWQoY29u dGV4dCkpOwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQg YmUgZHJpdmVuIHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsK KwogCWNvbnRleHQtPm1ldGhvZHMtPmNoZWNrKGNvbnRleHQpOwogCWZvciAoY2hpbGQgPSBj b250ZXh0LT5maXJzdGNoaWxkOyBjaGlsZCAhPSBOVUxMOyBjaGlsZCA9IGNoaWxkLT5uZXh0 Y2hpbGQpCiAJCU1lbW9yeUNvbnRleHRDaGVjayhjaGlsZCk7Cg== --------------uk6Q0q0BQIE6OLQFIDyXvtoa Content-Type: text/x-patch; charset=UTF-8; name="stack_overflow_fix_master.patch" Content-Disposition: attachment; filename="stack_overflow_fix_master.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hhY3QuYwppbmRleCBkODVlMzEzOTA4Li4xMDJkMGUx NTc0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94YWN0LmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGFjdC5jCkBAIC0zMDQzLDYgKzMwNDMs OSBAQCBDb21taXRUcmFuc2FjdGlvbkNvbW1hbmQodm9pZCkKIAlUcmFuc2FjdGlvblN0YXRl IHMgPSBDdXJyZW50VHJhbnNhY3Rpb25TdGF0ZTsKIAlTYXZlZFRyYW5zYWN0aW9uQ2hhcmFj dGVyaXN0aWNzIHNhdmV0YzsKIAorCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMs IGl0IGNvdWxkIGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNr X2RlcHRoKCk7CisKIAlTYXZlVHJhbnNhY3Rpb25DaGFyYWN0ZXJpc3RpY3MoJnNhdmV0Yyk7 CiAKIAlzd2l0Y2ggKHMtPmJsb2NrU3RhdGUpCkBAIC01NTAwLDYgKzU1MDMsOSBAQCBTaG93 VHJhbnNhY3Rpb25TdGF0ZVJlYyhjb25zdCBjaGFyICpzdHIsIFRyYW5zYWN0aW9uU3RhdGUg cykKIHsKIAlTdHJpbmdJbmZvRGF0YSBidWY7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9u IHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwlj aGVja19zdGFja19kZXB0aCgpOworCiAJaW5pdFN0cmluZ0luZm8oJmJ1Zik7CiAKIAlpZiAo cy0+bkNoaWxkWGlkcyA+IDApCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2Rl cGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCmluZGV4IDdh Y2Y2NTRiZjguLjU4YTFkNzBiOGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv ZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCkBA IC03Niw2ICs3Niw3IEBACiAjaW5jbHVkZSAiY29tbWFuZHMvdHJpZ2dlci5oIgogI2luY2x1 ZGUgImNvbW1hbmRzL3R5cGVjbWRzLmgiCiAjaW5jbHVkZSAiZnVuY2FwaS5oIgorI2luY2x1 ZGUgIm1pc2NhZG1pbi5oIgogI2luY2x1ZGUgIm5vZGVzL25vZGVGdW5jcy5oIgogI2luY2x1 ZGUgInBhcnNlci9wYXJzZXRyZWUuaCIKICNpbmNsdWRlICJyZXdyaXRlL3Jld3JpdGVSZW1v dmUuaCIKQEAgLTUyNCw2ICs1MjUsMTEgQEAgZmluZERlcGVuZGVudE9iamVjdHMoY29uc3Qg T2JqZWN0QWRkcmVzcyAqb2JqZWN0LAogCWlmIChzdGFja19hZGRyZXNzX3ByZXNlbnRfYWRk X2ZsYWdzKG9iamVjdCwgb2JqZmxhZ3MsIHN0YWNrKSkKIAkJcmV0dXJuOwogCisJLyogc2lu Y2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVuIHRvIHN0YWNr IG92ZXJmbG93LAorCSAqIGJlY2F1c2Ugb2YgdGhlIGRlZXAgZGVwZW5kZW5jeSB0cmVlLCBu b3Qgb25seSBkdWUgdG8gZGVwZW5kZW5jeSBsb29wcy4KKwkgKi8KKwljaGVja19zdGFja19k ZXB0aCgpOworCiAJLyoKIAkgKiBJdCdzIGFsc28gcG9zc2libGUgdGhhdCB0aGUgdGFyZ2V0 IG9iamVjdCBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlbHkKIAkgKiBwcm9jZXNzZWQgYW5k IHB1dCBpbnRvIHRhcmdldE9iamVjdHMuICBJZiBzbywgYWdhaW4gd2UganVzdCBhZGQgdGhl CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvaGVhcC5jCmluZGV4IDRmMDA2ODIwYjguLmE4ODU1MDkxM2QgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvaGVhcC5jCkBAIC01NTIsNiArNTUyLDkgQEAgQ2hlY2tBdHRyaWJ1dGVUeXBlKGNvbnN0 IGNoYXIgKmF0dG5hbWUsCiAJY2hhcgkJYXR0X3R5cHR5cGUgPSBnZXRfdHlwdHlwZShhdHR0 eXBpZCk7CiAJT2lkCQkJYXR0X3R5cGVsZW07CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9u IHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwlj aGVja19zdGFja19kZXB0aCgpOworCiAJaWYgKGF0dF90eXB0eXBlID09IFRZUFRZUEVfUFNF VURPKQogCXsKIAkJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxl Y21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5kZXggN2M2OTdh Mjg1Yi4uZjIyZGE3OWM2NSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFi bGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAgLTY2 ODQsNiArNjY4NCw5IEBAIEFURXhlY0FkZENvbHVtbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVk VGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAlUdXBsZURlc2MJdHVwZGVzYzsKIAlG b3JtRGF0YV9wZ19hdHRyaWJ1dGUgKmFhdHRyW10gPSB7JmF0dHJpYnV0ZX07CiAKKwkvKiBz aW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3Rh Y2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJLyogQXQgdG9wIGxl dmVsLCBwZXJtaXNzaW9uIGNoZWNrIHdhcyBkb25lIGluIEFUUHJlcENtZCwgZWxzZSBkbyBp dCAqLwogCWlmIChyZWN1cnNpbmcpCiAJCUFUU2ltcGxlUGVybWlzc2lvbnMoKCpjbWQpLT5z dWJ0eXBlLCByZWwsIEFUVF9UQUJMRSB8IEFUVF9GT1JFSUdOX1RBQkxFKTsKQEAgLTgzODMs NiArODM4NiwxMCBAQCBBVEV4ZWNEcm9wQ29sdW1uKExpc3QgKip3cXVldWUsIFJlbGF0aW9u IHJlbCwgY29uc3QgY2hhciAqY29sTmFtZSwKIAogCS8qIEluaXRpYWxpemUgYWRkcnMgb24g dGhlIGZpcnN0IGludm9jYXRpb24gKi8KIAlBc3NlcnQoIXJlY3Vyc2luZyB8fCBhZGRycyAh PSBOVUxMKTsKKworCS8qIHNpbmNlIHRoaXMgZnVuY3Rpb24gcmVjdXJzZXMsIGl0IGNvdWxk IGJlIGRyaXZlbiB0byBzdGFjayBvdmVyZmxvdyAqLworCWNoZWNrX3N0YWNrX2RlcHRoKCk7 CisKIAlpZiAoIXJlY3Vyc2luZykKIAkJYWRkcnMgPSBuZXdfb2JqZWN0X2FkZHJlc3Nlcygp OwogCkBAIC0xMDgzOSw2ICsxMDg0Niw5IEBAIEFURXhlY0FsdGVyQ29uc3RyUmVjdXJzZShD b25zdHJhaW50ICpjbWRjb24sIFJlbGF0aW9uIGNvbnJlbCwgUmVsYXRpb24gdGdyZWwsCiAJ T2lkCQkJcmVmcmVsaWQ7CiAJYm9vbAkJY2hhbmdlZCA9IGZhbHNlOwogCisJLyogc2luY2Ug dGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJpdmVuIHRvIHN0YWNrIG92 ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwogCWN1cnJjb24gPSAoRm9ybV9w Z19jb25zdHJhaW50KSBHRVRTVFJVQ1QoY29udHVwbGUpOwogCWNvbm9pZCA9IGN1cnJjb24t Pm9pZDsKIAlyZWZyZWxpZCA9IGN1cnJjb24tPmNvbmZyZWxpZDsKQEAgLTExODM5LDYgKzEx ODQ5LDkgQEAgQVRFeGVjRHJvcENvbnN0cmFpbnQoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFy ICpjb25zdHJOYW1lLAogCWJvb2wJCWlzX25vX2luaGVyaXRfY29uc3RyYWludCA9IGZhbHNl OwogCWNoYXIJCWNvbnR5cGU7CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2Vz LCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFj a19kZXB0aCgpOworCiAJLyogQXQgdG9wIGxldmVsLCBwZXJtaXNzaW9uIGNoZWNrIHdhcyBk b25lIGluIEFUUHJlcENtZCwgZWxzZSBkbyBpdCAqLwogCWlmIChyZWN1cnNpbmcpCiAJCUFU U2ltcGxlUGVybWlzc2lvbnMoQVRfRHJvcENvbnN0cmFpbnQsIHJlbCwgQVRUX1RBQkxFIHwg QVRUX0ZPUkVJR05fVEFCTEUpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3V0aWwvY2xhdXNlcy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvY2xhdXNlcy5j CmluZGV4IGFhNTg0ODQ4Y2YuLjc3YTVlYjUyNmMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L29wdGltaXplci91dGlsL2NsYXVzZXMuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIv dXRpbC9jbGF1c2VzLmMKQEAgLTIzMTgsNiArMjMxOCwxMCBAQCBzdGF0aWMgTm9kZSAqCiBl dmFsX2NvbnN0X2V4cHJlc3Npb25zX211dGF0b3IoTm9kZSAqbm9kZSwKIAkJCQkJCQkgICBl dmFsX2NvbnN0X2V4cHJlc3Npb25zX2NvbnRleHQgKmNvbnRleHQpCiB7CisKKwkvKiBzaW5j ZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2ZW4gdG8gc3RhY2sg b3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJaWYgKG5vZGUgPT0gTlVM TCkKIAkJcmV0dXJuIE5VTEw7CiAJc3dpdGNoIChub2RlVGFnKG5vZGUpKQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25wYXRoX2V4ZWMuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9qc29ucGF0aF9leGVjLmMKaW5kZXggYjU2MWYwZTdlOC4uZGM3YWIzODdl YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25wYXRoX2V4ZWMuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvanNvbnBhdGhfZXhlYy5jCkBAIC0xMjMyLDYg KzEyMzIsOSBAQCBleGVjdXRlQm9vbEl0ZW0oSnNvblBhdGhFeGVjQ29udGV4dCAqY3h0LCBK c29uUGF0aEl0ZW0gKmpzcCwKIAlKc29uUGF0aEJvb2wgcmVzOwogCUpzb25QYXRoQm9vbCBy ZXMyOwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUg ZHJpdmVuIHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwog CWlmICghY2FuSGF2ZU5leHQgJiYganNwSGFzTmV4dChqc3ApKQogCQllbG9nKEVSUk9SLCAi Ym9vbGVhbiBqc29ucGF0aCBpdGVtIGNhbm5vdCBoYXZlIG5leHQgaXRlbSIpOwogCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9tbWdyL21jeHQuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL21tZ3IvbWN4dC5jCmluZGV4IDBiMDA4MDJkZjcuLmNjMDZjMDBhNDkgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL21tZ3IvbWN4dC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL21tZ3IvbWN4dC5jCkBAIC0zOTIsNiArMzkyLDkgQEAgTWVtb3J5Q29udGV4dERlbGV0 ZShNZW1vcnlDb250ZXh0IGNvbnRleHQpCiAJLyogQW5kIG5vdCBDdXJyZW50TWVtb3J5Q29u dGV4dCwgZWl0aGVyICovCiAJQXNzZXJ0KGNvbnRleHQgIT0gQ3VycmVudE1lbW9yeUNvbnRl eHQpOwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUg ZHJpdmVuIHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwog CS8qIHNhdmUgYSBmdW5jdGlvbiBjYWxsIGluIGNvbW1vbiBjYXNlIHdoZXJlIHRoZXJlIGFy ZSBubyBjaGlsZHJlbiAqLwogCWlmIChjb250ZXh0LT5maXJzdGNoaWxkICE9IE5VTEwpCiAJ CU1lbW9yeUNvbnRleHREZWxldGVDaGlsZHJlbihjb250ZXh0KTsKQEAgLTc1MCw2ICs3NTMs OSBAQCBNZW1vcnlDb250ZXh0U3RhdHNJbnRlcm5hbChNZW1vcnlDb250ZXh0IGNvbnRleHQs IGludCBsZXZlbCwKIAogCUFzc2VydChNZW1vcnlDb250ZXh0SXNWYWxpZChjb250ZXh0KSk7 CiAKKwkvKiBzaW5jZSB0aGlzIGZ1bmN0aW9uIHJlY3Vyc2VzLCBpdCBjb3VsZCBiZSBkcml2 ZW4gdG8gc3RhY2sgb3ZlcmZsb3cgKi8KKwljaGVja19zdGFja19kZXB0aCgpOworCiAJLyog RXhhbWluZSB0aGUgY29udGV4dCBpdHNlbGYgKi8KIAljb250ZXh0LT5tZXRob2RzLT5zdGF0 cyhjb250ZXh0LAogCQkJCQkJCXByaW50ID8gTWVtb3J5Q29udGV4dFN0YXRzUHJpbnQgOiBO VUxMLApAQCAtOTE1LDYgKzkyMSw5IEBAIE1lbW9yeUNvbnRleHRDaGVjayhNZW1vcnlDb250 ZXh0IGNvbnRleHQpCiAKIAlBc3NlcnQoTWVtb3J5Q29udGV4dElzVmFsaWQoY29udGV4dCkp OwogCisJLyogc2luY2UgdGhpcyBmdW5jdGlvbiByZWN1cnNlcywgaXQgY291bGQgYmUgZHJp dmVuIHRvIHN0YWNrIG92ZXJmbG93ICovCisJY2hlY2tfc3RhY2tfZGVwdGgoKTsKKwogCWNv bnRleHQtPm1ldGhvZHMtPmNoZWNrKGNvbnRleHQpOwogCWZvciAoY2hpbGQgPSBjb250ZXh0 LT5maXJzdGNoaWxkOyBjaGlsZCAhPSBOVUxMOyBjaGlsZCA9IGNoaWxkLT5uZXh0Y2hpbGQp CiAJCU1lbW9yeUNvbnRleHRDaGVjayhjaGlsZCk7Cg== --------------uk6Q0q0BQIE6OLQFIDyXvtoa--