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 1jrgTc-0006ap-K9 for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Jul 2020 11:37:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jrgTZ-0003aW-3D for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Jul 2020 11:36:57 +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 1jrgTX-0003aO-MF for pgsql-hackers@lists.postgresql.org; Sat, 04 Jul 2020 11:36:56 +0000 Received: from wforward5-smtp.messagingengine.com ([64.147.123.35]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jrgTS-0005Q9-G9 for pgsql-hackers@postgresql.org; Sat, 04 Jul 2020 11:36:53 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailforward.west.internal (Postfix) with ESMTP id 1C79DAE4; Sat, 4 Jul 2020 07:36:48 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Sat, 04 Jul 2020 07:36:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=4C4c3f Deno2Mt7xznNo4T0jt2O58GQ92wzSrSPTrzNc=; b=tdjI3PUh6a77zUMo1JiNz8 8ZH/vVnGUZvqCbDLFZtgBJH/8j4izDEuH9x+3q1gIdgaKdnyOM8Db/Sx3F9wMwai 2TK2ydk2LTWolVIr10PL8A3BTTGcQo+hNx4owy6lw7uRHoGaoSZJib/J6FhClPPD 85skkzwdbcp2SK2xxhVo/x+5rX1+Gt1vj4nTjJbTNzqQGCGAL7MvlAmRtNOC+1of Rr0aDZ8oeEZPQ4RNonDWTYPdnWebT3FcPijYIS6fSTKum/DK7qXtFLMJ+8OWEqCq kgGmXmKnml+ZXEjEk5i/syyhXrIcB9tYEsDKyZ/vwXVXyYrm1k7y9nRa4MjnWPIw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrtdekgdegvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefuvfhfhfhokffffgggjggtsehmtderredtfeejnecuhfhrohhmpefrvghtvghr ucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgvihhsvghnthhrrghuthesvdhnughquh grughrrghnthdrtghomheqnecuggftrfgrthhtvghrnhepudfgueevieeluefggeeludfg hfeuhffhjeehfefgledufedtieevudfggeevgfejnecuffhomhgrihhnpedvnhguqhhurg gurhgrnhhtrdgtohhmnecukfhppeelfedrvdegfedrudeluddrvdefkeenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrrdgvihhsvg hnthhrrghuthesvdhnughquhgrughrrghnthdrtghomh X-ME-Proxy: Received: from april.pezone.net (p5df3bfee.dip0.t-ipconnect.de [93.243.191.238]) by mail.messagingengine.com (Postfix) with ESMTPA id 42621328005E; Sat, 4 Jul 2020 07:36:46 -0400 (EDT) Subject: Re: warnings for invalid function casts To: Tom Lane References: <1e97628e-6447-b4fd-e230-d109cec2d584@2ndquadrant.com> <474790.1593526505@sss.pgh.pa.us> <20200630192135.nwlza2u57dy3qej4@alap3.anarazel.de> <496552.1593545900@sss.pgh.pa.us> <931660.1593787200@sss.pgh.pa.us> Cc: Andres Freund , pgsql-hackers From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: Date: Sat, 4 Jul 2020 13:36:44 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <931660.1593787200@sss.pgh.pa.us> Content-Type: multipart/mixed; boundary="------------78630176F447368BA6597C9F" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------78630176F447368BA6597C9F Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2020-07-03 16:40, Tom Lane wrote: > Given that gcc explicitly documents "void (*) (void)" as being what > to use, they're going to have a hard time changing their minds about > that ... and gcc is dominant enough in this space that I suppose > other compilers would have to be compatible with it. So even though > it's theoretically bogus, I suppose we might as well go along with > it. The typedef will allow a centralized fix if we ever find a > better answer. Do people prefer a typedef or just writing it out, like it's done in the Python code? Attached is a provisional patch that has it written out. I'm minimally in favor of that, since the Python code would be consistent with the Python core code, and the one other use is quite special and it might not be worth introducing a globally visible workaround for it. But if we prefer a typedef then I'd propose GenericFuncPtr like in the initial patch. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------78630176F447368BA6597C9F Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="v2-0001-Fix-Wcast-function-type-warnings.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v2-0001-Fix-Wcast-function-type-warnings.patch" RnJvbSAyMjBiYWIyNGU1YTU4ZjFiNWQ2NjMzNjQyN2MwODc3MzI5YTVmODhhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogU2F0LCA0IEp1bCAyMDIwIDEzOjE1OjEyICswMjAwClN1YmplY3Q6 IFtQQVRDSCB2Ml0gRml4IC1XY2FzdC1mdW5jdGlvbi10eXBlIHdhcm5pbmdzCgpEaXNjdXNz aW9uOiBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQvMjAxODAy MDYyMDAyMDUuZjVrdmJ5bjZqYXd0emk2cyU0MGFsYXAzLmFuYXJhemVsLmRlCi0tLQogY29u ZmlndXJlICAgICAgICAgICAgICAgICAgICAgICAgIHwgOTEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogY29uZmlndXJlLmluICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Kwogc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9kZm1nci5jICAgIHwgMTQgKystLS0KIHNyYy9i YWNrZW5kL3V0aWxzL2hhc2gvZHluYWhhc2guYyB8ICA5ICsrLQogc3JjL2luY2x1ZGUvZm1n ci5oICAgICAgICAgICAgICAgIHwgIDYgKy0KIHNyYy9wbC9wbHB5dGhvbi9wbHB5X3BscHlt b2R1bGUuYyB8IDE0ICsrLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDExOCBpbnNlcnRpb25zKCsp LCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUK aW5kZXggMmZlZmYzN2ZlMy4uOTkwNzYzN2UzMSAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisr KyBiL2NvbmZpZ3VyZQpAQCAtNTY0Myw2ICs1NjQzLDk3IEBAIGlmIHRlc3QgeCIkcGdhY19j dl9wcm9nX0NYWF9jeHhmbGFnc19fV2ltcGxpY2l0X2ZhbGx0aHJvdWdoXzMiID0geCJ5ZXMi OyB0aGVuCiBmaQogCiAKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5F Tk99OiBjaGVja2luZyB3aGV0aGVyICR7Q0N9IHN1cHBvcnRzIC1XY2FzdC1mdW5jdGlvbi10 eXBlLCBmb3IgQ0ZMQUdTIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJHtD Q30gc3VwcG9ydHMgLVdjYXN0LWZ1bmN0aW9uLXR5cGUsIGZvciBDRkxBR1MuLi4gIiA+JjY7 IH0KK2lmICR7cGdhY19jdl9wcm9nX0NDX2NmbGFnc19fV2Nhc3RfZnVuY3Rpb25fdHlwZSs6 fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisg IHBnYWNfc2F2ZV9DRkxBR1M9JENGTEFHUworcGdhY19zYXZlX0NDPSRDQworQ0M9JHtDQ30K K0NGTEFHUz0iJHtDRkxBR1N9IC1XY2FzdC1mdW5jdGlvbi10eXBlIgorYWNfc2F2ZV9jX3dl cnJvcl9mbGFnPSRhY19jX3dlcnJvcl9mbGFnCithY19jX3dlcnJvcl9mbGFnPXllcworY2F0 IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZk ZWZzLmguICAqLworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQor X0FDRU9GCitpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6CisgIHBn YWNfY3ZfcHJvZ19DQ19jZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGU9eWVzCitlbHNlCisg IHBnYWNfY3ZfcHJvZ19DQ19jZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGU9bm8KK2ZpCity bSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRh Y19leHQKK2FjX2Nfd2Vycm9yX2ZsYWc9JGFjX3NhdmVfY193ZXJyb3JfZmxhZworQ0ZMQUdT PSIkcGdhY19zYXZlX0NGTEFHUyIKK0NDPSIkcGdhY19zYXZlX0NDIgorZmkKK3sgJGFzX2Vj aG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkcGdhY19jdl9wcm9n X0NDX2NmbGFnc19fV2Nhc3RfZnVuY3Rpb25fdHlwZSIgPiY1CiskYXNfZWNobyAiJHBnYWNf Y3ZfcHJvZ19DQ19jZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGUiID4mNjsgfQoraWYgdGVz dCB4IiRwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XY2FzdF9mdW5jdGlvbl90eXBlIiA9IHgi eWVzIjsgdGhlbgorICBDRkxBR1M9IiR7Q0ZMQUdTfSAtV2Nhc3QtZnVuY3Rpb24tdHlwZSIK K2ZpCisKKworICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo ZWNraW5nIHdoZXRoZXIgJHtDWFh9IHN1cHBvcnRzIC1XY2FzdC1mdW5jdGlvbi10eXBlLCBm b3IgQ1hYRkxBR1MiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciAke0NYWH0g c3VwcG9ydHMgLVdjYXN0LWZ1bmN0aW9uLXR5cGUsIGZvciBDWFhGTEFHUy4uLiAiID4mNjsg fQoraWYgJHtwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XY2FzdF9mdW5jdGlvbl90eXBl Kzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UK KyAgcGdhY19zYXZlX0NYWEZMQUdTPSRDWFhGTEFHUworcGdhY19zYXZlX0NYWD0kQ1hYCitD WFg9JHtDWFh9CitDWFhGTEFHUz0iJHtDWFhGTEFHU30gLVdjYXN0LWZ1bmN0aW9uLXR5cGUi CithY19zYXZlX2N4eF93ZXJyb3JfZmxhZz0kYWNfY3h4X3dlcnJvcl9mbGFnCithY19jeHhf d2Vycm9yX2ZsYWc9eWVzCithY19leHQ9Y3BwCithY19jcHA9JyRDWFhDUFAgJENQUEZMQUdT JworYWNfY29tcGlsZT0nJENYWCAtYyAkQ1hYRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRh Y19leHQgPiY1JworYWNfbGluaz0nJENYWCAtbyBjb25mdGVzdCRhY19leGVleHQgJENYWEZM QUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKK2Fj X2NvbXBpbGVyX2dudT0kYWNfY3ZfY3h4X2NvbXBpbGVyX2dudQorCitjYXQgY29uZmRlZnMu aCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICov CisKK2ludAorbWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lm IGFjX2ZuX2N4eF90cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBwZ2FjX2N2X3By b2dfQ1hYX2N4eGZsYWdzX19XY2FzdF9mdW5jdGlvbl90eXBlPXllcworZWxzZQorICBwZ2Fj X2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XY2FzdF9mdW5jdGlvbl90eXBlPW5vCitmaQorcm0g LWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNf ZXh0CithY19leHQ9YworYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyRD QyAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0ID4mNScKK2FjX2xpbms9 JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1Mg Y29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCithY19jb21waWxlcl9nbnU9JGFjX2N2X2Nf Y29tcGlsZXJfZ251CisKK2FjX2N4eF93ZXJyb3JfZmxhZz0kYWNfc2F2ZV9jeHhfd2Vycm9y X2ZsYWcKK0NYWEZMQUdTPSIkcGdhY19zYXZlX0NYWEZMQUdTIgorQ1hYPSIkcGdhY19zYXZl X0NYWCIKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl c3VsdDogJHBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1djYXN0X2Z1bmN0aW9uX3R5cGUi ID4mNQorJGFzX2VjaG8gIiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XY2FzdF9mdW5j dGlvbl90eXBlIiA+JjY7IH0KK2lmIHRlc3QgeCIkcGdhY19jdl9wcm9nX0NYWF9jeHhmbGFn c19fV2Nhc3RfZnVuY3Rpb25fdHlwZSIgPSB4InllcyI7IHRoZW4KKyAgQ1hYRkxBR1M9IiR7 Q1hYRkxBR1N9IC1XY2FzdC1mdW5jdGlvbi10eXBlIgorZmkKKworCiAgICMgVGhpcyB3YXMg aW5jbHVkZWQgaW4gLVdhbGwvLVdmb3JtYXQgaW4gb2xkZXIgR0NDIHZlcnNpb25zCiAKIHsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhl ciAke0NDfSBzdXBwb3J0cyAtV2Zvcm1hdC1zZWN1cml0eSwgZm9yIENGTEFHUyIgPiY1CmRp ZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KaW5kZXggMDE4OGM2ZmYw Ny4uMmUwNWNlMmU0ZCAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmluCisrKyBiL2NvbmZpZ3Vy ZS5pbgpAQCAtNDk4LDYgKzQ5OCw4IEBAIGlmIHRlc3QgIiRHQ0MiID0geWVzIC1hICIkSUND IiA9IG5vOyB0aGVuCiAgIFBHQUNfUFJPR19DWFhfQ0ZMQUdTX09QVChbLVdtaXNzaW5nLWZv cm1hdC1hdHRyaWJ1dGVdKQogICBQR0FDX1BST0dfQ0NfQ0ZMQUdTX09QVChbLVdpbXBsaWNp dC1mYWxsdGhyb3VnaD0zXSkKICAgUEdBQ19QUk9HX0NYWF9DRkxBR1NfT1BUKFstV2ltcGxp Y2l0LWZhbGx0aHJvdWdoPTNdKQorICBQR0FDX1BST0dfQ0NfQ0ZMQUdTX09QVChbLVdjYXN0 LWZ1bmN0aW9uLXR5cGVdKQorICBQR0FDX1BST0dfQ1hYX0NGTEFHU19PUFQoWy1XY2FzdC1m dW5jdGlvbi10eXBlXSkKICAgIyBUaGlzIHdhcyBpbmNsdWRlZCBpbiAtV2FsbC8tV2Zvcm1h dCBpbiBvbGRlciBHQ0MgdmVyc2lvbnMKICAgUEdBQ19QUk9HX0NDX0NGTEFHU19PUFQoWy1X Zm9ybWF0LXNlY3VyaXR5XSkKICAgUEdBQ19QUk9HX0NYWF9DRkxBR1NfT1BUKFstV2Zvcm1h dC1zZWN1cml0eV0pCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9mbWdyL2RmbWdy LmMgYi9zcmMvYmFja2VuZC91dGlscy9mbWdyL2RmbWdyLmMKaW5kZXggOWRmZjFmNWU4Mi4u YmQ3NzlmZGFmNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvZm1nci9kZm1nci5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2ZtZ3IvZGZtZ3IuYwpAQCAtOTUsNyArOTUsNyBA QCBzdGF0aWMgY29uc3QgUGdfbWFnaWNfc3RydWN0IG1hZ2ljX2RhdGEgPSBQR19NT0RVTEVf TUFHSUNfREFUQTsKICAqIG5hbWVkIGZ1bmNuYW1lIGluIGl0LgogICoKICAqIElmIHRoZSBm dW5jdGlvbiBpcyBub3QgZm91bmQsIHdlIHJhaXNlIGFuIGVycm9yIGlmIHNpZ25hbE5vdEZv dW5kIGlzIHRydWUsCi0gKiBlbHNlIHJldHVybiAoUEdGdW5jdGlvbikgTlVMTC4gIE5vdGUg dGhhdCBlcnJvcnMgaW4gbG9hZGluZyB0aGUgbGlicmFyeQorICogZWxzZSByZXR1cm4gTlVM TC4gIE5vdGUgdGhhdCBlcnJvcnMgaW4gbG9hZGluZyB0aGUgbGlicmFyeQogICogd2lsbCBw cm92b2tlIGVyZXBvcnQoKSByZWdhcmRsZXNzIG9mIHNpZ25hbE5vdEZvdW5kLgogICoKICAq IElmIGZpbGVoYW5kbGUgaXMgbm90IE5VTEwsIHRoZW4gKmZpbGVoYW5kbGUgd2lsbCBiZSBz ZXQgdG8gYSBoYW5kbGUKQEAgLTEwMywxMyArMTAzLDEzIEBAIHN0YXRpYyBjb25zdCBQZ19t YWdpY19zdHJ1Y3QgbWFnaWNfZGF0YSA9IFBHX01PRFVMRV9NQUdJQ19EQVRBOwogICogbG9v a3VwX2V4dGVybmFsX2Z1bmN0aW9uIHRvIGxvb2t1cCBhZGRpdGlvbmFsIGZ1bmN0aW9ucyBp biB0aGUgc2FtZSBmaWxlCiAgKiBhdCBsZXNzIGNvc3QgdGhhbiByZXBlYXRpbmcgbG9hZF9l eHRlcm5hbF9mdW5jdGlvbi4KICAqLwotUEdGdW5jdGlvbgordm9pZCAqCiBsb2FkX2V4dGVy bmFsX2Z1bmN0aW9uKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpmdW5jbmFt ZSwKIAkJCQkJICAgYm9vbCBzaWduYWxOb3RGb3VuZCwgdm9pZCAqKmZpbGVoYW5kbGUpCiB7 CiAJY2hhcgkgICAqZnVsbG5hbWU7CiAJdm9pZAkgICAqbGliX2hhbmRsZTsKLQlQR0Z1bmN0 aW9uCXJldHZhbDsKKwl2b2lkCSAgICpyZXR2YWw7CiAKIAkvKiBFeHBhbmQgdGhlIHBvc3Np Ymx5LWFiYnJldmlhdGVkIGZpbGVuYW1lIHRvIGFuIGV4YWN0IHBhdGggbmFtZSAqLwogCWZ1 bGxuYW1lID0gZXhwYW5kX2R5bmFtaWNfbGlicmFyeV9uYW1lKGZpbGVuYW1lKTsKQEAgLTEy Miw3ICsxMjIsNyBAQCBsb2FkX2V4dGVybmFsX2Z1bmN0aW9uKGNvbnN0IGNoYXIgKmZpbGVu YW1lLCBjb25zdCBjaGFyICpmdW5jbmFtZSwKIAkJKmZpbGVoYW5kbGUgPSBsaWJfaGFuZGxl OwogCiAJLyogTG9vayB1cCB0aGUgZnVuY3Rpb24gd2l0aGluIHRoZSBsaWJyYXJ5LiAqLwot CXJldHZhbCA9IChQR0Z1bmN0aW9uKSBkbHN5bShsaWJfaGFuZGxlLCBmdW5jbmFtZSk7CisJ cmV0dmFsID0gZGxzeW0obGliX2hhbmRsZSwgZnVuY25hbWUpOwogCiAJaWYgKHJldHZhbCA9 PSBOVUxMICYmIHNpZ25hbE5vdEZvdW5kKQogCQllcmVwb3J0KEVSUk9SLApAQCAtMTY1LDEy ICsxNjUsMTIgQEAgbG9hZF9maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBib29sIHJlc3Ry aWN0ZWQpCiAKIC8qCiAgKiBMb29rdXAgYSBmdW5jdGlvbiB3aG9zZSBsaWJyYXJ5IGZpbGUg aXMgYWxyZWFkeSBsb2FkZWQuCi0gKiBSZXR1cm4gKFBHRnVuY3Rpb24pIE5VTEwgaWYgbm90 IGZvdW5kLgorICogUmV0dXJuIE5VTEwgaWYgbm90IGZvdW5kLgogICovCi1QR0Z1bmN0aW9u Cit2b2lkICoKIGxvb2t1cF9leHRlcm5hbF9mdW5jdGlvbih2b2lkICpmaWxlaGFuZGxlLCBj b25zdCBjaGFyICpmdW5jbmFtZSkKIHsKLQlyZXR1cm4gKFBHRnVuY3Rpb24pIGRsc3ltKGZp bGVoYW5kbGUsIGZ1bmNuYW1lKTsKKwlyZXR1cm4gZGxzeW0oZmlsZWhhbmRsZSwgZnVuY25h bWUpOwogfQogCiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2hhc2gvZHluYWhh c2guYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2hhc2gvZHluYWhhc2guYwppbmRleCAyNjg4ZTI3 NzI2Li43YzgwMzlkMGVmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9oYXNoL2R5 bmFoYXNoLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvaGFzaC9keW5haGFzaC5jCkBAIC0z OTgsNyArMzk4LDE0IEBAIGhhc2hfY3JlYXRlKGNvbnN0IGNoYXIgKnRhYm5hbWUsIGxvbmcg bmVsZW0sIEhBU0hDVEwgKmluZm8sIGludCBmbGFncykKIAlpZiAoZmxhZ3MgJiBIQVNIX0tF WUNPUFkpCiAJCWhhc2hwLT5rZXljb3B5ID0gaW5mby0+a2V5Y29weTsKIAllbHNlIGlmICho YXNocC0+aGFzaCA9PSBzdHJpbmdfaGFzaCkKLQkJaGFzaHAtPmtleWNvcHkgPSAoSGFzaENv cHlGdW5jKSBzdHJsY3B5OworCQkvKgorCQkgKiBUaGUgc2lnbmF0dXJlIG9mIGtleWNvcHkg aXMgbWVhbnQgZm9yIG1lbWNweSgpLCB3aGljaCByZXR1cm5zCisJCSAqIHZvaWQqLCBidXQg c3RybGNweSgpIHJldHVybnMgc2l6ZV90LiAgU2luY2Ugd2UgbmV2ZXIgdXNlIHRoZSByZXR1 cm4KKwkJICogdmFsdWUgb2Yga2V5Y29weSwgYW5kIHNpemVfdCBpcyBwcmV0dHkgbXVjaCBh bHdheXMgdGhlIHNhbWUgc2l6ZSBhcworCQkgKiB2b2lkICosIHRoaXMgc2hvdWxkIGJlIHNh ZmUuICBUaGUgZXh0cmEgY2FzdCBpbiB0aGUgbWlkZGxlIGlzIHRvCisJCSAqIGF2b2lkIHdh cm5pbmdzIGZyb20gLVdjYXN0LWZ1bmN0aW9uLXR5cGUuCisJCSAqLworCQloYXNocC0+a2V5 Y29weSA9IChIYXNoQ29weUZ1bmMpICh2b2lkICgqKSAodm9pZCkpIHN0cmxjcHk7CiAJZWxz ZQogCQloYXNocC0+a2V5Y29weSA9IG1lbWNweTsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvZm1nci5oIGIvc3JjL2luY2x1ZGUvZm1nci5oCmluZGV4IGQzNDk1MTBiN2MuLmYyNTA2 OGZhZTIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2ZtZ3IuaAorKysgYi9zcmMvaW5jbHVk ZS9mbWdyLmgKQEAgLTcxNiw5ICs3MTYsOSBAQCBleHRlcm4gYm9vbCBDaGVja0Z1bmN0aW9u VmFsaWRhdG9yQWNjZXNzKE9pZCB2YWxpZGF0b3JPaWQsIE9pZCBmdW5jdGlvbk9pZCk7CiAg Ki8KIGV4dGVybiBjaGFyICpEeW5hbWljX2xpYnJhcnlfcGF0aDsKIAotZXh0ZXJuIFBHRnVu Y3Rpb24gbG9hZF9leHRlcm5hbF9mdW5jdGlvbihjb25zdCBjaGFyICpmaWxlbmFtZSwgY29u c3QgY2hhciAqZnVuY25hbWUsCi0JCQkJCQkJCQkJIGJvb2wgc2lnbmFsTm90Rm91bmQsIHZv aWQgKipmaWxlaGFuZGxlKTsKLWV4dGVybiBQR0Z1bmN0aW9uIGxvb2t1cF9leHRlcm5hbF9m dW5jdGlvbih2b2lkICpmaWxlaGFuZGxlLCBjb25zdCBjaGFyICpmdW5jbmFtZSk7CitleHRl cm4gdm9pZCAqbG9hZF9leHRlcm5hbF9mdW5jdGlvbihjb25zdCBjaGFyICpmaWxlbmFtZSwg Y29uc3QgY2hhciAqZnVuY25hbWUsCisJCQkJCQkJCQlib29sIHNpZ25hbE5vdEZvdW5kLCB2 b2lkICoqZmlsZWhhbmRsZSk7CitleHRlcm4gdm9pZCAqbG9va3VwX2V4dGVybmFsX2Z1bmN0 aW9uKHZvaWQgKmZpbGVoYW5kbGUsIGNvbnN0IGNoYXIgKmZ1bmNuYW1lKTsKIGV4dGVybiB2 b2lkIGxvYWRfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgYm9vbCByZXN0cmljdGVkKTsK IGV4dGVybiB2b2lkICoqZmluZF9yZW5kZXp2b3VzX3ZhcmlhYmxlKGNvbnN0IGNoYXIgKnZh ck5hbWUpOwogZXh0ZXJuIFNpemUgRXN0aW1hdGVMaWJyYXJ5U3RhdGVTcGFjZSh2b2lkKTsK ZGlmZiAtLWdpdCBhL3NyYy9wbC9wbHB5dGhvbi9wbHB5X3BscHltb2R1bGUuYyBiL3NyYy9w bC9wbHB5dGhvbi9wbHB5X3BscHltb2R1bGUuYwppbmRleCBlMzA4YzYxZDUwLi42MzU2YWZi YmQ0IDEwMDY0NAotLS0gYS9zcmMvcGwvcGxweXRob24vcGxweV9wbHB5bW9kdWxlLmMKKysr IGIvc3JjL3BsL3BscHl0aG9uL3BscHlfcGxweW1vZHVsZS5jCkBAIC02MSwxMyArNjEsMTMg QEAgc3RhdGljIFB5TWV0aG9kRGVmIFBMeV9tZXRob2RzW10gPSB7CiAJLyoKIAkgKiBsb2dn aW5nIG1ldGhvZHMKIAkgKi8KLQl7ImRlYnVnIiwgKFB5Q0Z1bmN0aW9uKSBQTHlfZGVidWcs IE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAotCXsibG9nIiwgKFB5Q0Z1 bmN0aW9uKSBQTHlfbG9nLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwK LQl7ImluZm8iLCAoUHlDRnVuY3Rpb24pIFBMeV9pbmZvLCBNRVRIX1ZBUkFSR1MgfCBNRVRI X0tFWVdPUkRTLCBOVUxMfSwKLQl7Im5vdGljZSIsIChQeUNGdW5jdGlvbikgUEx5X25vdGlj ZSwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCi0JeyJ3YXJuaW5nIiwg KFB5Q0Z1bmN0aW9uKSBQTHlfd2FybmluZywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JE UywgTlVMTH0sCi0JeyJlcnJvciIsIChQeUNGdW5jdGlvbikgUEx5X2Vycm9yLCBNRVRIX1ZB UkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKLQl7ImZhdGFsIiwgKFB5Q0Z1bmN0aW9u KSBQTHlfZmF0YWwsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAorCXsi ZGVidWciLCAoUHlDRnVuY3Rpb24pICh2b2lkICgqKSAodm9pZCkpIFBMeV9kZWJ1ZywgTUVU SF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCisJeyJsb2ciLCAoUHlDRnVuY3Rp b24pICh2b2lkICgqKSAodm9pZCkpIFBMeV9sb2csIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZ V09SRFMsIE5VTEx9LAorCXsiaW5mbyIsIChQeUNGdW5jdGlvbikgKHZvaWQgKCopICh2b2lk KSkgUEx5X2luZm8sIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAorCXsi bm90aWNlIiwgKFB5Q0Z1bmN0aW9uKSAodm9pZCAoKikgKHZvaWQpKSBQTHlfbm90aWNlLCBN RVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKKwl7Indhcm5pbmciLCAoUHlD RnVuY3Rpb24pICh2b2lkICgqKSAodm9pZCkpIFBMeV93YXJuaW5nLCBNRVRIX1ZBUkFSR1Mg fCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKKwl7ImVycm9yIiwgKFB5Q0Z1bmN0aW9uKSAodm9p ZCAoKikgKHZvaWQpKSBQTHlfZXJyb3IsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMs IE5VTEx9LAorCXsiZmF0YWwiLCAoUHlDRnVuY3Rpb24pICh2b2lkICgqKSAodm9pZCkpIFBM eV9mYXRhbCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgTlVMTH0sCiAKIAkvKgog CSAqIGNyZWF0ZSBhIHN0b3JlZCBwbGFuCi0tIAoyLjI3LjAKCg== --------------78630176F447368BA6597C9F--