Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vsj76-00GgFa-0g for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Feb 2026 15:05:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vsj75-00GGwB-1Y for pgsql-hackers@arkaria.postgresql.org; Wed, 18 Feb 2026 15:05:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vsj75-00GGw3-05 for pgsql-hackers@lists.postgresql.org; Wed, 18 Feb 2026 15:05:15 +0000 Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vsj72-00000001NSH-0YsH for pgsql-hackers@postgresql.org; Wed, 18 Feb 2026 15:05:14 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 895DC3EAFE for ; Wed, 18 Feb 2026 15:05:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=0x48.dk; s=gm1; t=1771427110; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=AGF4Z8f2kSD8T+dfUUbXKJ+0tJpkyfNoMLxAf8OahcY=; b=V6+ECAa45CeZLNT/xyaY8Y+BjgXXucxCJmh//oMm0AyRg04YP3E01DI7f4BbMR9VHuqXa4 99bd370sP6r4dnQSGiubPsoPfQuPdxuGVAVG7AHanaqS/53OsYlBC8gfDAMFrE7Apa7a9Y u5aYGs0HraDfXHrzN/jRFAgydZXHtGpEYhLwTkypQpNCOlLXxaG27BkwxL2RlVaG85oVLW 2Xl2wi0v/APS/l05eCfrSy0fszKLtQ4WQyXi8d2L1FHp304ZracT7MHrqqdtGOKc4vwMMA CahDHQyQrYEAqvFVP3V6cs9gWvkfHV30uH7SbMU1F2SKjQhYdCfT7lnmAID4yQ== Date: Wed, 18 Feb 2026 16:05:09 +0100 (CET) From: Henrik TJ To: PostgreSQL Hackers Subject: Use pg_malloc macros in src/fe_utils Message-ID: <6df1b64e-1314-9afd-41a3-3fefb76225e1@0x48.dk> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="-1463761151-1361478635-1771427110=:118765" X-GND-Sasl: henrik@0x48.dk X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvvddvleeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpeffhffvuffkgggtsehmtderredttddvnecuhfhrohhmpefjvghnrhhikhcuvffluceohhgvnhhrihhksedtgiegkedrughkqeenucggtffrrghtthgvrhhnpedvkeffvdehleehvddtveeuveeuhfektedtgeetteegiedvgffhffeugedujeeufeenucffohhmrghinhepphhoshhtghhrvghsqhhlrdhorhhgnecukfhppeekhedrvddtfedrvddthedrudegudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeekhedrvddtfedrvddthedrudeguddphhgvlhhopehtohhrrhgvnhhtpdhmrghilhhfrhhomhephhgvnhhrihhksedtgiegkedrughkpdhqihgupeekleehffevfefgtefhgfdpmhhouggvpehsmhhtphhouhhtpdhnsggprhgtphhtthhopedupdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrshesphhoshhtghhrvghsqhhlrdhorhhg X-GND-State: clean List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1463761151-1361478635-1771427110=:118765 Content-Type: text/plain; format=flowed; charset=US-ASCII Hi Inspired by [1], I took a stab at converting src/fe_utils to the new pg_malloc macros. Some mostly useless metrics: 31/34 converted, 7 casts removed. meson test looks good for me. 1. https://www.postgresql.org/message-id/flat/CAHut%2BPvpGPDLhkHAoxw_g3jdrYxA1m16a8uagbgH3TGWSKtXNQ%40mail.gmail.com best regards, Henrik ---1463761151-1361478635-1771427110=:118765 Content-Type: text/plain; charset=US-ASCII; name=v1-0001-fe_utils-Use-pg_malloc_object-and-pg_malloc_array.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=v1-0001-fe_utils-Use-pg_malloc_object-and-pg_malloc_array.patch RnJvbSA2YWQwZTViZTM1MDI5YTFhYTMyNDUyY2ZlYmE1ZmUwZWM1NWIxZjVk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogSGVucmlrIFRKIDxo ZW5yaWtAMHg0OC5kaz4NCkRhdGU6IEZyaSwgMTMgRmViIDIwMjYgMTU6NTE6 NDcgKzAxMDANClN1YmplY3Q6IFtQQVRDSF0gZmVfdXRpbHM6IFVzZSBwZ19t YWxsb2Nfb2JqZWN0KCkgYW5kIHBnX21hbGxvY19hcnJheSgpDQoNClVzZSBt b3JlIGhpZ2gtbGV2ZWwgYWxsb2NhdGlvbiByb3V0aW5lcyBpbiBzcmMvZmVf dXRpbHMuDQoNClNpbWlsYXIgdG8gMzFkMzg0N2EzN2JlIGFuZCA2NzM2ZGVh MTRhZg0KLS0tDQogc3JjL2ZlX3V0aWxzL2NvbmRpdGlvbmFsLmMgfCAgNCAr Ky0tDQogc3JjL2ZlX3V0aWxzL3ByaW50LmMgICAgICAgfCA0OCArKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIHNyYy9mZV91dGls cy9wc3Fsc2Nhbi5sICAgIHwgIDggKysrLS0tLQ0KIHNyYy9mZV91dGlscy9z aW1wbGVfbGlzdC5jIHwgIDQgKystLQ0KIDQgZmlsZXMgY2hhbmdlZCwgMzIg aW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQg YS9zcmMvZmVfdXRpbHMvY29uZGl0aW9uYWwuYyBiL3NyYy9mZV91dGlscy9j b25kaXRpb25hbC5jDQppbmRleCBkZWJhNjFlMGQ4MS4uNTM3Yzc2ZWQzY2Qg MTAwNjQ0DQotLS0gYS9zcmMvZmVfdXRpbHMvY29uZGl0aW9uYWwuYw0KKysr IGIvc3JjL2ZlX3V0aWxzL2NvbmRpdGlvbmFsLmMNCkBAIC0xNyw3ICsxNyw3 IEBADQogQ29uZGl0aW9uYWxTdGFjaw0KIGNvbmRpdGlvbmFsX3N0YWNrX2Ny ZWF0ZSh2b2lkKQ0KIHsNCi0JQ29uZGl0aW9uYWxTdGFjayBjc3RhY2sgPSBw Z19tYWxsb2Moc2l6ZW9mKENvbmRpdGlvbmFsU3RhY2tEYXRhKSk7DQorCUNv bmRpdGlvbmFsU3RhY2sgY3N0YWNrID0gcGdfbWFsbG9jX29iamVjdChDb25k aXRpb25hbFN0YWNrRGF0YSk7DQogDQogCWNzdGFjay0+aGVhZCA9IE5VTEw7 DQogCXJldHVybiBjc3RhY2s7DQpAQCAtNTIsNyArNTIsNyBAQCBjb25kaXRp b25hbF9zdGFja19kZXN0cm95KENvbmRpdGlvbmFsU3RhY2sgY3N0YWNrKQ0K IHZvaWQNCiBjb25kaXRpb25hbF9zdGFja19wdXNoKENvbmRpdGlvbmFsU3Rh Y2sgY3N0YWNrLCBpZlN0YXRlIG5ld19zdGF0ZSkNCiB7DQotCUlmU3RhY2tF bGVtICpwID0gKElmU3RhY2tFbGVtICopIHBnX21hbGxvYyhzaXplb2YoSWZT dGFja0VsZW0pKTsNCisJSWZTdGFja0VsZW0gKnAgPSBwZ19tYWxsb2Nfb2Jq ZWN0KElmU3RhY2tFbGVtKTsNCiANCiAJcC0+aWZfc3RhdGUgPSBuZXdfc3Rh dGU7DQogCXAtPnF1ZXJ5X2xlbiA9IC0xOw0KZGlmZiAtLWdpdCBhL3NyYy9m ZV91dGlscy9wcmludC5jIGIvc3JjL2ZlX3V0aWxzL3ByaW50LmMNCmluZGV4 IGVmNTJjZGVlOWI3Li4xMmQ5NjllODY2NiAxMDA2NDQNCi0tLSBhL3NyYy9m ZV91dGlscy9wcmludC5jDQorKysgYi9zcmMvZmVfdXRpbHMvcHJpbnQuYw0K QEAgLTM0NCw3ICszNDQsNyBAQCBmb3JtYXRfbnVtZXJpY19sb2NhbGUoY29u c3QgY2hhciAqbXlfc3RyKQ0KIAkJcmV0dXJuIHBnX3N0cmR1cChteV9zdHIp Ow0KIA0KIAluZXdfbGVuID0gc3RybGVuKG15X3N0cikgKyBhZGRpdGlvbmFs X251bWVyaWNfbG9jYWxlX2xlbihteV9zdHIpOw0KLQluZXdfc3RyID0gcGdf bWFsbG9jKG5ld19sZW4gKyAxKTsNCisJbmV3X3N0ciA9IHBnX21hbGxvY19h cnJheShjaGFyLCAobmV3X2xlbiArIDEpKTsNCiAJbmV3X3N0cl9wb3MgPSAw Ow0KIAlpbnRfbGVuID0gaW50ZWdlcl9kaWdpdHMobXlfc3RyKTsNCiANCkBA IC02OTIsMTggKzY5MiwxOCBAQCBwcmludF9hbGlnbmVkX3RleHQoY29uc3Qg cHJpbnRUYWJsZUNvbnRlbnQgKmNvbnQsIEZJTEUgKmZvdXQsIGJvb2wgaXNf cGFnZXIpDQogCWlmIChjb250LT5uY29sdW1ucyA+IDApDQogCXsNCiAJCWNv bF9jb3VudCA9IGNvbnQtPm5jb2x1bW5zOw0KLQkJd2lkdGhfaGVhZGVyID0g cGdfbWFsbG9jMChjb2xfY291bnQgKiBzaXplb2YoKndpZHRoX2hlYWRlcikp Ow0KLQkJd2lkdGhfYXZlcmFnZSA9IHBnX21hbGxvYzAoY29sX2NvdW50ICog c2l6ZW9mKCp3aWR0aF9hdmVyYWdlKSk7DQotCQltYXhfd2lkdGggPSBwZ19t YWxsb2MwKGNvbF9jb3VudCAqIHNpemVvZigqbWF4X3dpZHRoKSk7DQotCQl3 aWR0aF93cmFwID0gcGdfbWFsbG9jMChjb2xfY291bnQgKiBzaXplb2YoKndp ZHRoX3dyYXApKTsNCi0JCW1heF9ubF9saW5lcyA9IHBnX21hbGxvYzAoY29s X2NvdW50ICogc2l6ZW9mKCptYXhfbmxfbGluZXMpKTsNCi0JCWN1cnJfbmxf bGluZSA9IHBnX21hbGxvYzAoY29sX2NvdW50ICogc2l6ZW9mKCpjdXJyX25s X2xpbmUpKTsNCi0JCWNvbF9saW5lcHRycyA9IHBnX21hbGxvYzAoY29sX2Nv dW50ICogc2l6ZW9mKCpjb2xfbGluZXB0cnMpKTsNCi0JCW1heF9ieXRlcyA9 IHBnX21hbGxvYzAoY29sX2NvdW50ICogc2l6ZW9mKCptYXhfYnl0ZXMpKTsN Ci0JCWZvcm1hdF9idWYgPSBwZ19tYWxsb2MwKGNvbF9jb3VudCAqIHNpemVv ZigqZm9ybWF0X2J1ZikpOw0KLQkJaGVhZGVyX2RvbmUgPSBwZ19tYWxsb2Mw KGNvbF9jb3VudCAqIHNpemVvZigqaGVhZGVyX2RvbmUpKTsNCi0JCWJ5dGVz X291dHB1dCA9IHBnX21hbGxvYzAoY29sX2NvdW50ICogc2l6ZW9mKCpieXRl c19vdXRwdXQpKTsNCi0JCXdyYXAgPSBwZ19tYWxsb2MwKGNvbF9jb3VudCAq IHNpemVvZigqd3JhcCkpOw0KKwkJd2lkdGhfaGVhZGVyID0gcGdfbWFsbG9j MF9hcnJheSh1bnNpZ25lZCBpbnQsIGNvbF9jb3VudCk7DQorCQl3aWR0aF9h dmVyYWdlID0gcGdfbWFsbG9jMF9hcnJheSh1bnNpZ25lZCBpbnQsIGNvbF9j b3VudCk7DQorCQltYXhfd2lkdGggPSBwZ19tYWxsb2MwX2FycmF5KHVuc2ln bmVkIGludCwgY29sX2NvdW50KTsNCisJCXdpZHRoX3dyYXAgPSBwZ19tYWxs b2MwX2FycmF5KHVuc2lnbmVkIGludCwgY29sX2NvdW50KTsNCisJCW1heF9u bF9saW5lcyA9IHBnX21hbGxvYzBfYXJyYXkodW5zaWduZWQgaW50LCBjb2xf Y291bnQpOw0KKwkJY3Vycl9ubF9saW5lID0gcGdfbWFsbG9jMF9hcnJheSh1 bnNpZ25lZCBpbnQsIGNvbF9jb3VudCk7DQorCQljb2xfbGluZXB0cnMgPSBw Z19tYWxsb2MwX2FycmF5KHN0cnVjdCBsaW5lcHRyICosIGNvbF9jb3VudCk7 DQorCQltYXhfYnl0ZXMgPSBwZ19tYWxsb2MwX2FycmF5KHVuc2lnbmVkIGlu dCwgY29sX2NvdW50KTsNCisJCWZvcm1hdF9idWYgPSBwZ19tYWxsb2MwX2Fy cmF5KHVuc2lnbmVkIGNoYXIgKiwgY29sX2NvdW50KTsNCisJCWhlYWRlcl9k b25lID0gcGdfbWFsbG9jMF9hcnJheShib29sLCBjb2xfY291bnQpOw0KKwkJ Ynl0ZXNfb3V0cHV0ID0gcGdfbWFsbG9jMF9hcnJheShpbnQsIGNvbF9jb3Vu dCk7DQorCQl3cmFwID0gcGdfbWFsbG9jMF9hcnJheShwcmludFRleHRMaW5l V3JhcCwgY29sX2NvdW50KTsNCiAJfQ0KIAllbHNlDQogCXsNCkBAIC03OTgs MTAgKzc5OCwxMCBAQCBwcmludF9hbGlnbmVkX3RleHQoY29uc3QgcHJpbnRU YWJsZUNvbnRlbnQgKmNvbnQsIEZJTEUgKmZvdXQsIGJvb2wgaXNfcGFnZXIp DQogCWZvciAoaSA9IDA7IGkgPCBjb2xfY291bnQ7IGkrKykNCiAJew0KIAkJ LyogQWRkIGVudHJ5IGZvciBwdHIgPT0gTlVMTCBhcnJheSB0ZXJtaW5hdGlv biAqLw0KLQkJY29sX2xpbmVwdHJzW2ldID0gcGdfbWFsbG9jMCgobWF4X25s X2xpbmVzW2ldICsgMSkgKg0KLQkJCQkJCQkJCSBzaXplb2YoKipjb2xfbGlu ZXB0cnMpKTsNCisJCWNvbF9saW5lcHRyc1tpXSA9IHBnX21hbGxvYzBfYXJy YXkoc3RydWN0IGxpbmVwdHIsDQorCQkJCQkJCQkJCSAgIChtYXhfbmxfbGlu ZXNbaV0gKyAxKSk7DQogDQotCQlmb3JtYXRfYnVmW2ldID0gcGdfbWFsbG9j KG1heF9ieXRlc1tpXSArIDEpOw0KKwkJZm9ybWF0X2J1ZltpXSA9IHBnX21h bGxvY19hcnJheSh1bnNpZ25lZCBjaGFyLCAobWF4X2J5dGVzW2ldICsgMSkp Ow0KIA0KIAkJY29sX2xpbmVwdHJzW2ldLT5wdHIgPSBmb3JtYXRfYnVmW2ld Ow0KIAl9DQpAQCAtMTQwOSw4ICsxNDA5LDggQEAgcHJpbnRfYWxpZ25lZF92 ZXJ0aWNhbChjb25zdCBwcmludFRhYmxlQ29udGVudCAqY29udCwNCiAJICog V2Ugbm93IGhhdmUgYWxsIHRoZSBpbmZvcm1hdGlvbiB3ZSBuZWVkIHRvIHNl dHVwIHRoZSBmb3JtYXR0aW5nDQogCSAqIHN0cnVjdHVyZXMNCiAJICovDQot CWRsaW5lcHRyID0gcGdfbWFsbG9jKChzaXplb2YoKmRsaW5lcHRyKSkgKiAo ZGhlaWdodCArIDEpKTsNCi0JaGxpbmVwdHIgPSBwZ19tYWxsb2MoKHNpemVv ZigqaGxpbmVwdHIpKSAqIChoaGVpZ2h0ICsgMSkpOw0KKwlkbGluZXB0ciA9 IHBnX21hbGxvY19hcnJheShzdHJ1Y3QgbGluZXB0ciwgKGRoZWlnaHQgKyAx KSk7DQorCWhsaW5lcHRyID0gcGdfbWFsbG9jX2FycmF5KHN0cnVjdCBsaW5l cHRyLCAoaGhlaWdodCArIDEpKTsNCiANCiAJZGxpbmVwdHItPnB0ciA9IHBn X21hbGxvYyhkZm9ybWF0c2l6ZSk7DQogCWhsaW5lcHRyLT5wdHIgPSBwZ19t YWxsb2MoaGZvcm1hdHNpemUpOw0KQEAgLTMxOTgsNyArMzE5OCw3IEBAIHBy aW50VGFibGVJbml0KHByaW50VGFibGVDb250ZW50ICpjb25zdCBjb250ZW50 LCBjb25zdCBwcmludFRhYmxlT3B0ICpvcHQsDQogCWNvbnRlbnQtPm5jb2x1 bW5zID0gbmNvbHVtbnM7DQogCWNvbnRlbnQtPm5yb3dzID0gbnJvd3M7DQog DQotCWNvbnRlbnQtPmhlYWRlcnMgPSBwZ19tYWxsb2MwKChuY29sdW1ucyAr IDEpICogc2l6ZW9mKCpjb250ZW50LT5oZWFkZXJzKSk7DQorCWNvbnRlbnQt PmhlYWRlcnMgPSBwZ19tYWxsb2MwX2FycmF5KGNvbnN0IGNoYXIgKiwgKG5j b2x1bW5zICsgMSkpOw0KIA0KIAl0b3RhbF9jZWxscyA9ICh1aW50NjQpIG5j b2x1bW5zICogbnJvd3M7DQogCS8qIENhdGNoIHBvc3NpYmxlIG92ZXJmbG93 LiAgVXNpbmcgPj0gaGVyZSBhbGxvd3MgYWRkaW5nIDEgYmVsb3cgKi8NCkBA IC0zMjA5LDEyICszMjA5LDEyIEBAIHByaW50VGFibGVJbml0KHByaW50VGFi bGVDb250ZW50ICpjb25zdCBjb250ZW50LCBjb25zdCBwcmludFRhYmxlT3B0 ICpvcHQsDQogCQkJCVNJWkVfTUFYIC8gc2l6ZW9mKCpjb250ZW50LT5jZWxs cykpOw0KIAkJZXhpdChFWElUX0ZBSUxVUkUpOw0KIAl9DQotCWNvbnRlbnQt PmNlbGxzID0gcGdfbWFsbG9jMCgodG90YWxfY2VsbHMgKyAxKSAqIHNpemVv ZigqY29udGVudC0+Y2VsbHMpKTsNCisJY29udGVudC0+Y2VsbHMgPSBwZ19t YWxsb2MwX2FycmF5KGNvbnN0IGNoYXIgKiwgKHRvdGFsX2NlbGxzICsgMSkp Ow0KIA0KIAljb250ZW50LT5jZWxsbXVzdGZyZWUgPSBOVUxMOw0KIAljb250 ZW50LT5mb290ZXJzID0gTlVMTDsNCiANCi0JY29udGVudC0+YWxpZ25zID0g cGdfbWFsbG9jMCgobmNvbHVtbnMgKyAxKSAqIHNpemVvZigqY29udGVudC0+ YWxpZ24pKTsNCisJY29udGVudC0+YWxpZ25zID0gcGdfbWFsbG9jMF9hcnJh eShjaGFyLCAobmNvbHVtbnMgKyAxKSk7DQogDQogCWNvbnRlbnQtPmhlYWRl ciA9IGNvbnRlbnQtPmhlYWRlcnM7DQogCWNvbnRlbnQtPmNlbGwgPSBjb250 ZW50LT5jZWxsczsNCkBAIC0zMzA1LDcgKzMzMDUsNyBAQCBwcmludFRhYmxl QWRkQ2VsbChwcmludFRhYmxlQ29udGVudCAqY29uc3QgY29udGVudCwgY2hh ciAqY2VsbCwNCiAJew0KIAkJaWYgKGNvbnRlbnQtPmNlbGxtdXN0ZnJlZSA9 PSBOVUxMKQ0KIAkJCWNvbnRlbnQtPmNlbGxtdXN0ZnJlZSA9DQotCQkJCXBn X21hbGxvYzAoKHRvdGFsX2NlbGxzICsgMSkgKiBzaXplb2YoYm9vbCkpOw0K KwkJCQlwZ19tYWxsb2MwX2FycmF5KGJvb2wsICh0b3RhbF9jZWxscyArIDEp KTsNCiANCiAJCWNvbnRlbnQtPmNlbGxtdXN0ZnJlZVtjb250ZW50LT5jZWxs c2FkZGVkXSA9IHRydWU7DQogCX0NCkBAIC0zMzMwLDcgKzMzMzAsNyBAQCBw cmludFRhYmxlQWRkRm9vdGVyKHByaW50VGFibGVDb250ZW50ICpjb25zdCBj b250ZW50LCBjb25zdCBjaGFyICpmb290ZXIpDQogew0KIAlwcmludFRhYmxl Rm9vdGVyICpmOw0KIA0KLQlmID0gcGdfbWFsbG9jMChzaXplb2YoKmYpKTsN CisJZiA9IHBnX21hbGxvYzBfb2JqZWN0KHByaW50VGFibGVGb290ZXIpOw0K IAlmLT5kYXRhID0gcGdfc3RyZHVwKGZvb3Rlcik7DQogDQogCWlmIChjb250 ZW50LT5mb290ZXJzID09IE5VTEwpDQpAQCAtMzQ3Nyw3ICszNDc3LDcgQEAg Y291bnRfdGFibGVfbGluZXMoY29uc3QgcHJpbnRUYWJsZUNvbnRlbnQgKmNv bnQsDQogCSAqIFNjYW4gYWxsIGNvbHVtbiBoZWFkZXJzIGFuZCBkZXRlcm1p bmUgdGhlaXIgaGVpZ2h0cy4gIENhY2hlIHRoZSB2YWx1ZXMNCiAJICogc2lu Y2UgdmVydGljYWwgbW9kZSByZXBlYXRzIHRoZSBoZWFkZXJzIGZvciBldmVy eSByZWNvcmQuDQogCSAqLw0KLQloZWFkZXJfaGVpZ2h0ID0gKGludCAqKSBw Z19tYWxsb2MoY29udC0+bmNvbHVtbnMgKiBzaXplb2YoaW50KSk7DQorCWhl YWRlcl9oZWlnaHQgPSBwZ19tYWxsb2NfYXJyYXkoaW50LCBjb250LT5uY29s dW1ucyk7DQogCWZvciAoaSA9IDA7IGkgPCBjb250LT5uY29sdW1uczsgaSsr KQ0KIAl7DQogCQlwZ193Y3NzaXplKChjb25zdCB1bnNpZ25lZCBjaGFyICop IGNvbnQtPmhlYWRlcnNbaV0sDQpkaWZmIC0tZ2l0IGEvc3JjL2ZlX3V0aWxz L3BzcWxzY2FuLmwgYi9zcmMvZmVfdXRpbHMvcHNxbHNjYW4ubA0KaW5kZXgg NWQ3NDcxNGZmYzYuLmU3ODk1MmQ0NDhkIDEwMDY0NA0KLS0tIGEvc3JjL2Zl X3V0aWxzL3BzcWxzY2FuLmwNCisrKyBiL3NyYy9mZV91dGlscy9wc3Fsc2Nh bi5sDQpAQCAtMTAwMiw3ICsxMDAyLDcgQEAgcHNxbF9zY2FuX2NyZWF0ZShj b25zdCBQc3FsU2NhbkNhbGxiYWNrcyAqY2FsbGJhY2tzKQ0KIHsNCiAJUHNx bFNjYW5TdGF0ZSBzdGF0ZTsNCiANCi0Jc3RhdGUgPSAoUHNxbFNjYW5TdGF0 ZURhdGEgKikgcGdfbWFsbG9jMChzaXplb2YoUHNxbFNjYW5TdGF0ZURhdGEp KTsNCisJc3RhdGUgPSBwZ19tYWxsb2MwX29iamVjdChQc3FsU2NhblN0YXRl RGF0YSk7DQogDQogCXN0YXRlLT5jYWxsYmFja3MgPSBjYWxsYmFja3M7DQog DQpAQCAtMTM3Niw3ICsxMzc2LDcgQEAgcHNxbHNjYW5fcHVzaF9uZXdfYnVm ZmVyKFBzcWxTY2FuU3RhdGUgc3RhdGUsIGNvbnN0IGNoYXIgKm5ld3N0ciwN CiB7DQogCVN0YWNrRWxlbSAgKnN0YWNrZWxlbTsNCiANCi0Jc3RhY2tlbGVt ID0gKFN0YWNrRWxlbSAqKSBwZ19tYWxsb2Moc2l6ZW9mKFN0YWNrRWxlbSkp Ow0KKwlzdGFja2VsZW0gPSBwZ19tYWxsb2Nfb2JqZWN0KFN0YWNrRWxlbSk7 DQogDQogCS8qDQogCSAqIEluIGN1cnJlbnQgdXNhZ2UsIHRoZSBwYXNzZWQg dmFybmFtZSBwb2ludHMgYXQgdGhlIGN1cnJlbnQgZmxleCBpbnB1dA0KQEAg LTE0NzksNyArMTQ3OSw3IEBAIHBzcWxzY2FuX3ByZXBhcmVfYnVmZmVyKFBz cWxTY2FuU3RhdGUgc3RhdGUsIGNvbnN0IGNoYXIgKnR4dCwgaW50IGxlbiwN CiAJY2hhcgkgICAqbmV3dHh0Ow0KIA0KIAkvKiBGbGV4IHdhbnRzIHR3byBc MCBjaGFyYWN0ZXJzIGFmdGVyIHRoZSBhY3R1YWwgZGF0YSAqLw0KLQluZXd0 eHQgPSBwZ19tYWxsb2MobGVuICsgMik7DQorCW5ld3R4dCA9IHBnX21hbGxv Y19hcnJheShjaGFyLCAobGVuICsgMikpOw0KIAkqdHh0Y29weSA9IG5ld3R4 dDsNCiAJbmV3dHh0W2xlbl0gPSBuZXd0eHRbbGVuICsgMV0gPSBZWV9FTkRf T0ZfQlVGRkVSX0NIQVI7DQogDQpAQCAtMTU0OCw3ICsxNTQ4LDcgQEAgcHNx bHNjYW5fZW1pdChQc3FsU2NhblN0YXRlIHN0YXRlLCBjb25zdCBjaGFyICp0 eHQsIGludCBsZW4pDQogY2hhciAqDQogcHNxbHNjYW5fZXh0cmFjdF9zdWJz dHJpbmcoUHNxbFNjYW5TdGF0ZSBzdGF0ZSwgY29uc3QgY2hhciAqdHh0LCBp bnQgbGVuKQ0KIHsNCi0JY2hhcgkgICAqcmVzdWx0ID0gKGNoYXIgKikgcGdf bWFsbG9jKGxlbiArIDEpOw0KKwljaGFyCSAgICpyZXN1bHQgPSBwZ19tYWxs b2NfYXJyYXkoY2hhciwgKGxlbiArIDEpKTsNCiANCiAJaWYgKHN0YXRlLT5z YWZlX2VuY29kaW5nKQ0KIAkJbWVtY3B5KHJlc3VsdCwgdHh0LCBsZW4pOw0K ZGlmZiAtLWdpdCBhL3NyYy9mZV91dGlscy9zaW1wbGVfbGlzdC5jIGIvc3Jj L2ZlX3V0aWxzL3NpbXBsZV9saXN0LmMNCmluZGV4IGVjNjk4ZmM2NzI4Li4w M2MxMWJhZTdjOCAxMDA2NDQNCi0tLSBhL3NyYy9mZV91dGlscy9zaW1wbGVf bGlzdC5jDQorKysgYi9zcmMvZmVfdXRpbHMvc2ltcGxlX2xpc3QuYw0KQEAg LTI3LDcgKzI3LDcgQEAgc2ltcGxlX29pZF9saXN0X2FwcGVuZChTaW1wbGVP aWRMaXN0ICpsaXN0LCBPaWQgdmFsKQ0KIHsNCiAJU2ltcGxlT2lkTGlzdENl bGwgKmNlbGw7DQogDQotCWNlbGwgPSAoU2ltcGxlT2lkTGlzdENlbGwgKikg cGdfbWFsbG9jKHNpemVvZihTaW1wbGVPaWRMaXN0Q2VsbCkpOw0KKwljZWxs ID0gcGdfbWFsbG9jX29iamVjdChTaW1wbGVPaWRMaXN0Q2VsbCk7DQogCWNl bGwtPm5leHQgPSBOVUxMOw0KIAljZWxsLT52YWwgPSB2YWw7DQogDQpAQCAt MTYzLDcgKzE2Myw3IEBAIHNpbXBsZV9wdHJfbGlzdF9hcHBlbmQoU2ltcGxl UHRyTGlzdCAqbGlzdCwgdm9pZCAqcHRyKQ0KIHsNCiAJU2ltcGxlUHRyTGlz dENlbGwgKmNlbGw7DQogDQotCWNlbGwgPSAoU2ltcGxlUHRyTGlzdENlbGwg KikgcGdfbWFsbG9jKHNpemVvZihTaW1wbGVQdHJMaXN0Q2VsbCkpOw0KKwlj ZWxsID0gcGdfbWFsbG9jX29iamVjdChTaW1wbGVQdHJMaXN0Q2VsbCk7DQog CWNlbGwtPm5leHQgPSBOVUxMOw0KIAljZWxsLT5wdHIgPSBwdHI7DQogDQot LSANCjIuNTMuMA0KDQo= ---1463761151-1361478635-1771427110=:118765--