From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: nmontero To: git-commits@fedoraproject.org Subject: [rpms/glib2] cve-2026-58016-f44: Add patch to revert gcancellable changes Date: Tue, 11 Aug 2026 10:38:27 GMT Message-ID: <178644470740.1.8525398966624693751.rpms-glib2-5f6b1b57bbe1@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: 5f6b1b57bbe1a656bf9e916a489dc27371066004 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xpYjIKQnJhbmNo IDogY3ZlLTIwMjYtNTgwMTYtZjQ0CkNvbW1pdCA6IDVmNmIxYjU3YmJlMWE2NTZiZjllOTE2YTQ4 OWRjMjczNzEwNjYwMDQKQXV0aG9yIDogbm1vbnRlcm8gPG5tb250ZXJvQHJlZGhhdC5jb20+CkRh dGUgICA6IDIwMjUtMDEtMjFUMTc6NTE6MzYrMDE6MDAKU3RhdHMgIDogKzcwNS8tMCBpbiAxIGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbGliMi9j LzVmNmIxYjU3YmJlMWE2NTZiZjllOTE2YTQ4OWRjMjczNzEwNjYwMDQ/YnJhbmNoPWN2ZS0yMDI2 LTU4MDE2LWY0NAoKTG9nOgpBZGQgcGF0Y2ggdG8gcmV2ZXJ0IGdjYW5jZWxsYWJsZSBjaGFuZ2Vz CgotLS0KZGlmZiAtLWdpdCBhL3JldmVydC1nY2FuY2VsbGFibGUtY2hhbmdlcy5wYXRjaCBiL3Jl dmVydC1nY2FuY2VsbGFibGUtY2hhbmdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi42MTljM2YwCi0tLSAvZGV2L251bGwKKysrIGIvcmV2ZXJ0LWdjYW5jZWxsYWJs ZS1jaGFuZ2VzLnBhdGNoCkBAIC0wLDAgKzEsNzA1IEBACitGcm9tIGUyMzlkZWVkOTRhNjEzYzAz YjgyOTZhZTI3YjVmNDE0MmI5NjFlZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBu bW9udGVybyA8bm1vbnRlcm9AcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgMjEgSmFuIDIwMjUgMTc6 MzI6NDEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzRdIFJldmVydCAiZ2NhbmNlbGxhYmxlOiBN YXJrIGFzc2VydC1vbmx5IHZhcmlhYmxlIGFzCisgdW51c2VkIgorCitUaGlzIHJldmVydHMgY29t bWl0IDZjNjc5ZmIzN2EwYmZlZWQ3YmViNDJkMWIxZTM1OTA3MTNlYWMxMGMuCistLS0KKyBnaW8v Z2NhbmNlbGxhYmxlLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9naW8vZ2NhbmNlbGxhYmxlLmMgYi9naW8vZ2Nh bmNlbGxhYmxlLmMKK2luZGV4IDI3ZGQwNjM3MC4uYWJmNTg3OGVkIDEwMDY0NAorLS0tIGEvZ2lv L2djYW5jZWxsYWJsZS5jCisrKysgYi9naW8vZ2NhbmNlbGxhYmxlLmMKK0BAIC02NjQsNyArNjY0 LDcgQEAgY2FuY2VsbGFibGVfc291cmNlX2NhbmNlbGxlZCAoR0NhbmNlbGxhYmxlICpjYW5jZWxs YWJsZSwKKyB7CisgICBHU291cmNlICpzb3VyY2UgPSB1c2VyX2RhdGE7CisgICBHQ2FuY2VsbGFi bGVTb3VyY2UgKmNhbmNlbGxhYmxlX3NvdXJjZSA9IChHQ2FuY2VsbGFibGVTb3VyY2UgKikgc291 cmNlOworLSAgZ2Jvb2xlYW4gY2FsbGJhY2tfd2FzX25vdF9jYWxsZWQgR19HTlVDX1VOVVNFRDsK KysgIGdib29sZWFuIGNhbGxiYWNrX3dhc19ub3RfY2FsbGVkOworIAorICAgZ19zb3VyY2VfcmVm IChzb3VyY2UpOworICAgZ19zb3VyY2Vfc2V0X3JlYWR5X3RpbWUgKHNvdXJjZSwgMCk7CistLSAK KzIuNDcuMQorCisKK0Zyb20gMmVlYzk2YmNmYjY1NGNjYjQ2YzJjYTBlZTUxZDVjOWE5NzIyNzlh YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG5tb250ZXJvIDxubW9udGVyb0ByZWRo YXQuY29tPgorRGF0ZTogVHVlLCAyMSBKYW4gMjAyNSAxNzozMjo1OSArMDEwMAorU3ViamVjdDog W1BBVENIIDIvNF0gUmV2ZXJ0ICJnY2FuY2VsbGFibGU6IFJlZmVyZW5jZSB0aGUgb2JqZWN0IGJl Zm9yZSBsb2NraW5nCisgd2hlbiBkb2luZyBzaWduYWwgZW1pc3Npb24iCisKK1RoaXMgcmV2ZXJ0 cyBjb21taXQgNTRkOWMyNmIzNGQ3MGJlOWExZTU1MTliZjAzZDcyNzMzNGM1MmUwYS4KKy0tLQor IGdpby9nY2FuY2VsbGFibGUuYyB8IDYgKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lvL2djYW5jZWxsYWJsZS5j IGIvZ2lvL2djYW5jZWxsYWJsZS5jCitpbmRleCBhYmY1ODc4ZWQuLjIyN2Q1NmQyZSAxMDA2NDQK Ky0tLSBhL2dpby9nY2FuY2VsbGFibGUuYworKysrIGIvZ2lvL2djYW5jZWxsYWJsZS5jCitAQCAt NDk1LDE2ICs0OTUsMTEgQEAgZ19jYW5jZWxsYWJsZV9jYW5jZWwgKEdDYW5jZWxsYWJsZSAqY2Fu Y2VsbGFibGUpCisgCisgICBwcml2ID0gY2FuY2VsbGFibGUtPnByaXY7CisgCistICAvKiBXZSBh ZGQgYSByZWZlcmVuY2UgYmVmb3JlIGxvY2tpbmcsIHRvIGF2b2lkIHRoYXQgcG90ZW50aWFsIHRv Z2dsZQorLSAgICogbm90aWZpY2F0aW9ucyBvbiB0aGUgb2JqZWN0IG1pZ2h0IGhhcHBlbiB3aGls ZSB3ZSdyZSBsb2NrZWQuCistICAgKi8KKy0gIGdfb2JqZWN0X3JlZiAoY2FuY2VsbGFibGUpOwor ICAgZ19tdXRleF9sb2NrICgmcHJpdi0+bXV0ZXgpOworIAorICAgaWYgKCFnX2F0b21pY19pbnRf Y29tcGFyZV9hbmRfZXhjaGFuZ2UgKCZwcml2LT5jYW5jZWxsZWQsIEZBTFNFLCBUUlVFKSkKKyAg ICAgeworICAgICAgIGdfbXV0ZXhfdW5sb2NrICgmcHJpdi0+bXV0ZXgpOworLSAgICAgIGdfb2Jq ZWN0X3VucmVmIChjYW5jZWxsYWJsZSk7CisgICAgICAgcmV0dXJuOworICAgICB9CisgCitAQCAt NTEzLDYgKzUwOCw3IEBAIGdfY2FuY2VsbGFibGVfY2FuY2VsIChHQ2FuY2VsbGFibGUgKmNhbmNl bGxhYmxlKQorICAgaWYgKHByaXYtPndha2V1cCkKKyAgICAgR0xJQl9QUklWQVRFX0NBTEwgKGdf d2FrZXVwX3NpZ25hbCkgKHByaXYtPndha2V1cCk7CisgCisrICBnX29iamVjdF9yZWYgKGNhbmNl bGxhYmxlKTsKKyAgIGdfc2lnbmFsX2VtaXQgKGNhbmNlbGxhYmxlLCBzaWduYWxzW0NBTkNFTExF RF0sIDApOworIAorICAgaWYgKGdfYXRvbWljX2ludF9kZWNfYW5kX3Rlc3QgKCZwcml2LT5jYW5j ZWxsZWRfcnVubmluZykpCistLSAKKzIuNDcuMQorCisKK0Zyb20gNmJmZGMyZGJkNGE3N2VlNGJh OTIxNTRkYzIwZDY5MDhlMGE5YmQ2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG5t b250ZXJvIDxubW9udGVyb0ByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAyMSBKYW4gMjAyNSAxNzoz MzoxNiArMDEwMAorU3ViamVjdDogW1BBVENIIDMvNF0gUmV2ZXJ0ICJHQ2FuY2VsbGFibGU6IFVz ZSBwZXItaW5zdGFuY2UgbXV0ZXggbG9naWMKKyBpbnN0ZWFkIG9mIGdsb2JhbCBjcml0aWNhbCBz ZWN0aW9ucyIKKworVGhpcyByZXZlcnRzIGNvbW1pdCAzYTA3YjJhYmQ0MDA2ZGEzM2NkZmIwOTE2 YjI2NmEyMTA3MGE0N2Q2LgorLS0tCisgZ2lvL2djYW5jZWxsYWJsZS5jICAgICAgfCAxOTkgKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQorIGdpby90ZXN0cy9jYW5jZWxs YWJsZS5jIHwgIDEwICstCisgZ2lvL3Rlc3RzL2dtZW51bW9kZWwuYyAgfCAgMjIgKysrLS0KKyAz IGZpbGVzIGNoYW5nZWQsIDEyOSBpbnNlcnRpb25zKCspLCAxMDIgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9naW8vZ2NhbmNlbGxhYmxlLmMgYi9naW8vZ2NhbmNlbGxhYmxlLmMKK2luZGV4 IDIyN2Q1NmQyZS4uYzM1NzI5MTBlIDEwMDY0NAorLS0tIGEvZ2lvL2djYW5jZWxsYWJsZS5jCisr KysgYi9naW8vZ2NhbmNlbGxhYmxlLmMKK0BAIC0xLDcgKzEsNiBAQAorIC8qIEdJTyAtIEdMaWIg SW5wdXQsIE91dHB1dCBhbmQgU3RyZWFtaW5nIExpYnJhcnkKKyAgKiAKKyAgKiBDb3B5cmlnaHQg KEMpIDIwMDYtMjAwNyBSZWQgSGF0LCBJbmMuCistICogQ29weXJpZ2h0IChDKSAyMDIyLTIwMjQg Q2Fub25pY2FsLCBMdGQuCisgICoKKyAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQTC0y LjEtb3ItbGF0ZXIKKyAgKgorQEAgLTE5LDcgKzE4LDYgQEAKKyAgKiBQdWJsaWMgTGljZW5zZSBh bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorICAqCisgICogQXV0aG9yOiBBbGV4YW5kZXIgTGFyc3NvbiA8YWxleGxAcmVk aGF0LmNvbT4KKy0gKiBBdXRob3I6IE1hcmNvIFRyZXZpc2FuIDxtYXJjby50cmV2aXNhbkBjYW5v bmljYWwuY29tPgorICAqLworIAorICNpbmNsdWRlICJjb25maWcuaCIKK0BAIC00NywxMiArNDUs MTQgQEAgZW51bSB7CisgCisgc3RydWN0IF9HQ2FuY2VsbGFibGVQcml2YXRlCisgeworLSAgLyog QXRvbWljIHNvIHRoYXQgd2UgZG9uJ3QgcmVxdWlyZSBob2xkaW5nIGdsb2JhbCBtdXRleGVzIGZv ciBpbmRlcGVuZGVudCBvcHMuICovCisrICAvKiBBdG9taWMgc28gdGhhdCBnX2NhbmNlbGxhYmxl X2lzX2NhbmNlbGxlZCBkb2VzIG5vdCByZXF1aXJlIGhvbGRpbmcgdGhlIG11dGV4LiAqLworICAg Z2Jvb2xlYW4gY2FuY2VsbGVkOworLSAgaW50IGNhbmNlbGxlZF9ydW5uaW5nOworKyAgLyogQWNj ZXNzIHRvIGZpZWxkcyBiZWxvdyBpcyBwcm90ZWN0ZWQgYnkgY2FuY2VsbGFibGVfbXV0ZXguICov CisrICBndWludCBjYW5jZWxsZWRfcnVubmluZyA6IDE7CisrICBndWludCBjYW5jZWxsZWRfcnVu bmluZ193YWl0aW5nIDogMTsKKysgIHVuc2lnbmVkIGNhbmNlbGxlZF9lbWlzc2lvbnM7CisrICB1 bnNpZ25lZCBjYW5jZWxsZWRfZW1pc3Npb25zX3dhaXRpbmcgOiAxOworIAorLSAgLyogQWNjZXNz IHRvIGZpZWxkcyBiZWxvdyBpcyBwcm90ZWN0ZWQgYnkgY2FuY2VsbGFibGUncyBtdXRleC4gKi8K Ky0gIEdNdXRleCBtdXRleDsKKyAgIGd1aW50IGZkX3JlZmNvdW50OworICAgR1dha2V1cCAqd2Fr ZXVwOworIH07CitAQCAtNjIsNiArNjIsNyBAQCBzdGF0aWMgZ3VpbnQgc2lnbmFsc1tMQVNUX1NJ R05BTF0gPSB7IDAgfTsKKyBHX0RFRklORV9UWVBFX1dJVEhfUFJJVkFURSAoR0NhbmNlbGxhYmxl LCBnX2NhbmNlbGxhYmxlLCBHX1RZUEVfT0JKRUNUKQorIAorIHN0YXRpYyBHUHJpdmF0ZSBjdXJy ZW50X2NhbmNlbGxhYmxlOworK3N0YXRpYyBHTXV0ZXggY2FuY2VsbGFibGVfbXV0ZXg7Cisgc3Rh dGljIEdDb25kIGNhbmNlbGxhYmxlX2NvbmQ7CisgCisgc3RhdGljIHZvaWQKK0BAIC02OSwxNSAr NzAsOSBAQCBnX2NhbmNlbGxhYmxlX2ZpbmFsaXplIChHT2JqZWN0ICpvYmplY3QpCisgeworICAg R0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSA9IEdfQ0FOQ0VMTEFCTEUgKG9iamVjdCk7CisgCist ICAvKiBXZSdyZSBhdCBmaW5hbGl6YXRpb24gcGhhc2UsIHNvIG9ubHkgb25lIHRocmVhZCBjYW4g YmUgaGVyZS4KKy0gICAqIFRodXMgdGhlcmUncyBubyBuZWVkIHRvIGxvY2suIEluIGNhc2Ugc29t ZXRoaW5nIGlzIGxvY2tpbmcgdXMsIHRoZW4gd2UndmUKKy0gICAqIGEgYnVnLCBhbmQgZ19tdXRl eF9jbGVhcigpIHdpbGwgbWFrZSB0aGlzIGNsZWFyIGFib3J0aW5nLgorLSAgICovCisgICBpZiAo Y2FuY2VsbGFibGUtPnByaXYtPndha2V1cCkKKyAgICAgR0xJQl9QUklWQVRFX0NBTEwgKGdfd2Fr ZXVwX2ZyZWUpIChjYW5jZWxsYWJsZS0+cHJpdi0+d2FrZXVwKTsKKyAKKy0gIGdfbXV0ZXhfY2xl YXIgKCZjYW5jZWxsYWJsZS0+cHJpdi0+bXV0ZXgpOworLQorICAgR19PQkpFQ1RfQ0xBU1MgKGdf Y2FuY2VsbGFibGVfcGFyZW50X2NsYXNzKS0+ZmluYWxpemUgKG9iamVjdCk7CisgfQorIAorQEAg LTE1OSw4ICsxNTQsNiBAQCBzdGF0aWMgdm9pZAorIGdfY2FuY2VsbGFibGVfaW5pdCAoR0NhbmNl bGxhYmxlICpjYW5jZWxsYWJsZSkKKyB7CisgICBjYW5jZWxsYWJsZS0+cHJpdiA9IGdfY2FuY2Vs bGFibGVfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKGNhbmNlbGxhYmxlKTsKKy0KKy0gIGdfbXV0ZXhf aW5pdCAoJmNhbmNlbGxhYmxlLT5wcml2LT5tdXRleCk7CisgfQorIAorIC8qKgorQEAgLTI3Miwx NyArMjY1LDI4IEBAIGdfY2FuY2VsbGFibGVfcmVzZXQgKEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFi bGUpCisgCisgICBnX3JldHVybl9pZl9mYWlsIChHX0lTX0NBTkNFTExBQkxFIChjYW5jZWxsYWJs ZSkpOworIAorKyAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOworKworICAgcHJp diA9IGNhbmNlbGxhYmxlLT5wcml2OworIAorLSAgZ19tdXRleF9sb2NrICgmcHJpdi0+bXV0ZXgp OworKyAgd2hpbGUgKHByaXYtPmNhbmNlbGxlZF9ydW5uaW5nIHx8IHByaXYtPmNhbmNlbGxlZF9l bWlzc2lvbnMgPiAwKQorKyAgICB7CisrICAgICAgaWYgKHByaXYtPmNhbmNlbGxlZF9ydW5uaW5n KQorKyAgICAgICAgcHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmdfd2FpdGluZyA9IFRSVUU7CisrCisr ICAgICAgaWYgKHByaXYtPmNhbmNlbGxlZF9lbWlzc2lvbnMgPiAwKQorKyAgICAgICAgcHJpdi0+ Y2FuY2VsbGVkX2VtaXNzaW9uc193YWl0aW5nID0gVFJVRTsKKyAKKy0gIGlmIChnX2F0b21pY19p bnRfY29tcGFyZV9hbmRfZXhjaGFuZ2UgKCZwcml2LT5jYW5jZWxsZWQsIFRSVUUsIEZBTFNFKSkK KysgICAgICBnX2NvbmRfd2FpdCAoJmNhbmNlbGxhYmxlX2NvbmQsICZjYW5jZWxsYWJsZV9tdXRl eCk7CisrICAgIH0KKysKKysgIGlmIChnX2F0b21pY19pbnRfZXhjaGFuZ2UgKCZwcml2LT5jYW5j ZWxsZWQsIEZBTFNFKSkKKyAgICAgeworICAgICAgIGlmIChwcml2LT53YWtldXApCisgICAgICAg ICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfYWNrbm93bGVkZ2UpIChwcml2LT53YWtldXAp OworICAgICB9CisgCistICBnX211dGV4X3VubG9jayAoJnByaXYtPm11dGV4KTsKKysgIGdfbXV0 ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOworIH0KKyAKKyAvKioKK0BAIC00MDAsMjkg KzQwNCwyNiBAQCBnX2NhbmNlbGxhYmxlX2dldF9mZCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJs ZSkKKyBnYm9vbGVhbgorIGdfY2FuY2VsbGFibGVfbWFrZV9wb2xsZmQgKEdDYW5jZWxsYWJsZSAq Y2FuY2VsbGFibGUsIEdQb2xsRkQgKnBvbGxmZCkKKyB7CistICBHQ2FuY2VsbGFibGVQcml2YXRl ICpwcml2OworLQorICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHBvbGxmZCAhPSBOVUxMLCBGQUxT RSk7CisgICBpZiAoY2FuY2VsbGFibGUgPT0gTlVMTCkKKyAgICAgcmV0dXJuIEZBTFNFOworICAg Z19yZXR1cm5fdmFsX2lmX2ZhaWwgKEdfSVNfQ0FOQ0VMTEFCTEUgKGNhbmNlbGxhYmxlKSwgRkFM U0UpOworIAorLSAgcHJpdiA9IGNhbmNlbGxhYmxlLT5wcml2OworKyAgZ19tdXRleF9sb2NrICgm Y2FuY2VsbGFibGVfbXV0ZXgpOworIAorLSAgZ19tdXRleF9sb2NrICgmcHJpdi0+bXV0ZXgpOwor KyAgY2FuY2VsbGFibGUtPnByaXYtPmZkX3JlZmNvdW50Kys7CisgCistICBpZiAoKHByaXYtPmZk X3JlZmNvdW50KyspID09IDApCisrICBpZiAoY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCA9PSBO VUxMKQorICAgICB7CistICAgICAgcHJpdi0+d2FrZXVwID0gR0xJQl9QUklWQVRFX0NBTEwgKGdf d2FrZXVwX25ldykgKCk7CisrICAgICAgY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCA9IEdMSUJf UFJJVkFURV9DQUxMIChnX3dha2V1cF9uZXcpICgpOworIAorLSAgICAgIGlmIChnX2F0b21pY19p bnRfZ2V0ICgmcHJpdi0+Y2FuY2VsbGVkKSkKKy0gICAgICAgIEdMSUJfUFJJVkFURV9DQUxMIChn X3dha2V1cF9zaWduYWwpIChwcml2LT53YWtldXApOworKyAgICAgIGlmIChnX2F0b21pY19pbnRf Z2V0ICgmY2FuY2VsbGFibGUtPnByaXYtPmNhbmNlbGxlZCkpCisrICAgICAgICBHTElCX1BSSVZB VEVfQ0FMTCAoZ193YWtldXBfc2lnbmFsKSAoY2FuY2VsbGFibGUtPnByaXYtPndha2V1cCk7Cisg ICAgIH0KKyAKKy0gIGdfYXNzZXJ0IChwcml2LT53YWtldXApOworLSAgR0xJQl9QUklWQVRFX0NB TEwgKGdfd2FrZXVwX2dldF9wb2xsZmQpIChwcml2LT53YWtldXAsIHBvbGxmZCk7CisrICBHTElC X1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfZ2V0X3BvbGxmZCkgKGNhbmNlbGxhYmxlLT5wcml2LT53 YWtldXAsIHBvbGxmZCk7CisgCistICBnX211dGV4X3VubG9jayAoJnByaXYtPm11dGV4KTsKKysg IGdfbXV0ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOworIAorICAgcmV0dXJuIFRSVUU7 CisgfQorQEAgLTQ0NiwyMiArNDQ3LDI2IEBAIGdfY2FuY2VsbGFibGVfbWFrZV9wb2xsZmQgKEdD YW5jZWxsYWJsZSAqY2FuY2VsbGFibGUsIEdQb2xsRkQgKnBvbGxmZCkKKyB2b2lkCisgZ19jYW5j ZWxsYWJsZV9yZWxlYXNlX2ZkIChHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlKQorIHsKKysgIEdD YW5jZWxsYWJsZVByaXZhdGUgKnByaXY7CisrCisgICBpZiAoY2FuY2VsbGFibGUgPT0gTlVMTCkK KyAgICAgcmV0dXJuOworIAorICAgZ19yZXR1cm5faWZfZmFpbCAoR19JU19DQU5DRUxMQUJMRSAo Y2FuY2VsbGFibGUpKTsKKyAKKy0gIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlLT5wcml2LT5t dXRleCk7CisrICBwcml2ID0gY2FuY2VsbGFibGUtPnByaXY7CisgCistICBnX2Fzc2VydCAoY2Fu Y2VsbGFibGUtPnByaXYtPmZkX3JlZmNvdW50ID4gMCk7CisrICBnX211dGV4X2xvY2sgKCZjYW5j ZWxsYWJsZV9tdXRleCk7CisrICBnX2Fzc2VydCAocHJpdi0+ZmRfcmVmY291bnQgPiAwKTsKKyAK Ky0gIGlmICgoY2FuY2VsbGFibGUtPnByaXYtPmZkX3JlZmNvdW50LS0pID09IDEpCisrICBwcml2 LT5mZF9yZWZjb3VudC0tOworKyAgaWYgKHByaXYtPmZkX3JlZmNvdW50ID09IDApCisgICAgIHsK Ky0gICAgICBHTElCX1BSSVZBVEVfQ0FMTCAoZ193YWtldXBfZnJlZSkgKGNhbmNlbGxhYmxlLT5w cml2LT53YWtldXApOworLSAgICAgIGNhbmNlbGxhYmxlLT5wcml2LT53YWtldXAgPSBOVUxMOwor KyAgICAgIEdMSUJfUFJJVkFURV9DQUxMIChnX3dha2V1cF9mcmVlKSAocHJpdi0+d2FrZXVwKTsK KysgICAgICBwcml2LT53YWtldXAgPSBOVUxMOworICAgICB9CisgCistICBnX211dGV4X3VubG9j ayAoJmNhbmNlbGxhYmxlLT5wcml2LT5tdXRleCk7CisrICBnX211dGV4X3VubG9jayAoJmNhbmNl bGxhYmxlX211dGV4KTsKKyB9CisgCisgLyoqCitAQCAtNDkwLDMxICs0OTUsMzcgQEAgZ19jYW5j ZWxsYWJsZV9jYW5jZWwgKEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGUpCisgeworICAgR0NhbmNl bGxhYmxlUHJpdmF0ZSAqcHJpdjsKKyAKKy0gIGlmIChjYW5jZWxsYWJsZSA9PSBOVUxMIHx8IGdf YXRvbWljX2ludF9nZXQgKCZjYW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkKSkKKysgIGlmIChj YW5jZWxsYWJsZSA9PSBOVUxMIHx8IGdfY2FuY2VsbGFibGVfaXNfY2FuY2VsbGVkIChjYW5jZWxs YWJsZSkpCisgICAgIHJldHVybjsKKyAKKyAgIHByaXYgPSBjYW5jZWxsYWJsZS0+cHJpdjsKKyAK Ky0gIGdfbXV0ZXhfbG9jayAoJnByaXYtPm11dGV4KTsKKysgIGdfbXV0ZXhfbG9jayAoJmNhbmNl bGxhYmxlX211dGV4KTsKKyAKKy0gIGlmICghZ19hdG9taWNfaW50X2NvbXBhcmVfYW5kX2V4Y2hh bmdlICgmcHJpdi0+Y2FuY2VsbGVkLCBGQUxTRSwgVFJVRSkpCisrICBpZiAoZ19hdG9taWNfaW50 X2V4Y2hhbmdlICgmcHJpdi0+Y2FuY2VsbGVkLCBUUlVFKSkKKyAgICAgeworLSAgICAgIGdfbXV0 ZXhfdW5sb2NrICgmcHJpdi0+bXV0ZXgpOworKyAgICAgIGdfbXV0ZXhfdW5sb2NrICgmY2FuY2Vs bGFibGVfbXV0ZXgpOworICAgICAgIHJldHVybjsKKyAgICAgfQorIAorLSAgZ19hdG9taWNfaW50 X2luYyAoJnByaXYtPmNhbmNlbGxlZF9ydW5uaW5nKTsKKysgIHByaXYtPmNhbmNlbGxlZF9ydW5u aW5nID0gVFJVRTsKKyAKKyAgIGlmIChwcml2LT53YWtldXApCisgICAgIEdMSUJfUFJJVkFURV9D QUxMIChnX3dha2V1cF9zaWduYWwpIChwcml2LT53YWtldXApOworIAorKyAgZ19tdXRleF91bmxv Y2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisrCisgICBnX29iamVjdF9yZWYgKGNhbmNlbGxhYmxl KTsKKyAgIGdfc2lnbmFsX2VtaXQgKGNhbmNlbGxhYmxlLCBzaWduYWxzW0NBTkNFTExFRF0sIDAp OworIAorLSAgaWYgKGdfYXRvbWljX2ludF9kZWNfYW5kX3Rlc3QgKCZwcml2LT5jYW5jZWxsZWRf cnVubmluZykpCisrICBnX211dGV4X2xvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisrCisrICBw cml2LT5jYW5jZWxsZWRfcnVubmluZyA9IEZBTFNFOworKyAgaWYgKHByaXYtPmNhbmNlbGxlZF9y dW5uaW5nX3dhaXRpbmcpCisgICAgIGdfY29uZF9icm9hZGNhc3QgKCZjYW5jZWxsYWJsZV9jb25k KTsKKysgIHByaXYtPmNhbmNlbGxlZF9ydW5uaW5nX3dhaXRpbmcgPSBGQUxTRTsKKyAKKy0gIGdf bXV0ZXhfdW5sb2NrICgmcHJpdi0+bXV0ZXgpOworKyAgZ19tdXRleF91bmxvY2sgKCZjYW5jZWxs YWJsZV9tdXRleCk7CisgCisgICBnX29iamVjdF91bnJlZiAoY2FuY2VsbGFibGUpOworIH0KK0BA IC01NjIsNyArNTczLDcgQEAgZ19jYW5jZWxsYWJsZV9jb25uZWN0IChHQ2FuY2VsbGFibGUgICAq Y2FuY2VsbGFibGUsCisgCisgICBnX3JldHVybl92YWxfaWZfZmFpbCAoR19JU19DQU5DRUxMQUJM RSAoY2FuY2VsbGFibGUpLCAwKTsKKyAKKy0gIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlLT5w cml2LT5tdXRleCk7CisrICBnX211dGV4X2xvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisgCisg ICBpZiAoZ19hdG9taWNfaW50X2dldCAoJmNhbmNlbGxhYmxlLT5wcml2LT5jYW5jZWxsZWQpKQor ICAgICB7CitAQCAtNTcyLDEwICs1ODMsMjMgQEAgZ19jYW5jZWxsYWJsZV9jb25uZWN0IChHQ2Fu Y2VsbGFibGUgICAqY2FuY2VsbGFibGUsCisgICAgICAgX2NhbGxiYWNrID0gKHZvaWQgKiljYWxs YmFjazsKKyAgICAgICBpZCA9IDA7CisgCisrICAgICAgY2FuY2VsbGFibGUtPnByaXYtPmNhbmNl bGxlZF9lbWlzc2lvbnMrKzsKKysKKysgICAgICBnX211dGV4X3VubG9jayAoJmNhbmNlbGxhYmxl X211dGV4KTsKKysKKyAgICAgICBfY2FsbGJhY2sgKGNhbmNlbGxhYmxlLCBkYXRhKTsKKyAKKyAg ICAgICBpZiAoZGF0YV9kZXN0cm95X2Z1bmMpCisgICAgICAgICBkYXRhX2Rlc3Ryb3lfZnVuYyAo ZGF0YSk7CisrCisrICAgICAgZ19tdXRleF9sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOworKwor KyAgICAgIGlmIChjYW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkX2VtaXNzaW9uc193YWl0aW5n KQorKyAgICAgICAgZ19jb25kX2Jyb2FkY2FzdCAoJmNhbmNlbGxhYmxlX2NvbmQpOworKworKyAg ICAgIGNhbmNlbGxhYmxlLT5wcml2LT5jYW5jZWxsZWRfZW1pc3Npb25zLS07CisrCisrICAgICAg Z19tdXRleF91bmxvY2sgKCZjYW5jZWxsYWJsZV9tdXRleCk7CisgICAgIH0KKyAgIGVsc2UKKyAg ICAgeworQEAgLTU4Myw5ICs2MDcsMTAgQEAgZ19jYW5jZWxsYWJsZV9jb25uZWN0IChHQ2FuY2Vs bGFibGUgICAqY2FuY2VsbGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNhbGxiYWNrLCBkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR0Ns b3N1cmVOb3RpZnkpIGRhdGFfZGVzdHJveV9mdW5jLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHX0NPTk5FQ1RfREVGQVVMVCk7CisrCisrICAgICAgZ19tdXRleF91bmxvY2sg KCZjYW5jZWxsYWJsZV9tdXRleCk7CisgICAgIH0KKyAKKy0gIGdfbXV0ZXhfdW5sb2NrICgmY2Fu Y2VsbGFibGUtPnByaXYtPm11dGV4KTsKKyAKKyAgIHJldHVybiBpZDsKKyB9CitAQCAtNjIxLDI2 ICs2NDYsMzMgQEAgZ19jYW5jZWxsYWJsZV9kaXNjb25uZWN0IChHQ2FuY2VsbGFibGUgICpjYW5j ZWxsYWJsZSwKKyAgIGlmIChoYW5kbGVyX2lkID09IDAgfHwgIGNhbmNlbGxhYmxlID09IE5VTEwp CisgICAgIHJldHVybjsKKyAKKysgIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsK KysKKyAgIHByaXYgPSBjYW5jZWxsYWJsZS0+cHJpdjsKKyAKKy0gIGdfbXV0ZXhfbG9jayAoJnBy aXYtPm11dGV4KTsKKysgIHdoaWxlIChwcml2LT5jYW5jZWxsZWRfcnVubmluZyB8fCBwcml2LT5j YW5jZWxsZWRfZW1pc3Npb25zKQorKyAgICB7CisrICAgICAgaWYgKHByaXYtPmNhbmNlbGxlZF9y dW5uaW5nKQorKyAgICAgICAgcHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmdfd2FpdGluZyA9IFRSVUU7 CisgCistICB3aGlsZSAoZ19hdG9taWNfaW50X2dldCAoJnByaXYtPmNhbmNlbGxlZF9ydW5uaW5n KSAhPSAwKQorLSAgICBnX2NvbmRfd2FpdCAoJmNhbmNlbGxhYmxlX2NvbmQsICZwcml2LT5tdXRl eCk7CisrICAgICAgaWYgKHByaXYtPmNhbmNlbGxlZF9lbWlzc2lvbnMpCisrICAgICAgICBwcml2 LT5jYW5jZWxsZWRfZW1pc3Npb25zX3dhaXRpbmcgPSBUUlVFOworIAorLSAgZ19tdXRleF91bmxv Y2sgKCZwcml2LT5tdXRleCk7CisrICAgICAgZ19jb25kX3dhaXQgKCZjYW5jZWxsYWJsZV9jb25k LCAmY2FuY2VsbGFibGVfbXV0ZXgpOworKyAgICB9CisgCisgICBnX3NpZ25hbF9oYW5kbGVyX2Rp c2Nvbm5lY3QgKGNhbmNlbGxhYmxlLCBoYW5kbGVyX2lkKTsKKysKKysgIGdfbXV0ZXhfdW5sb2Nr ICgmY2FuY2VsbGFibGVfbXV0ZXgpOworIH0KKyAKKyB0eXBlZGVmIHN0cnVjdCB7CisgICBHU291 cmNlICAgICAgIHNvdXJjZTsKKyAKKy0gIC8qIEF0b21pYzogKi8KKyAgIEdDYW5jZWxsYWJsZSAq Y2FuY2VsbGFibGU7CisgICBndWxvbmcgICAgICAgIGNhbmNlbGxlZF9oYW5kbGVyOworLSAgLyog QXRvbWljOiAqLworLSAgZ2Jvb2xlYW4gICAgICBjYW5jZWxsZWRfY2FsbGJhY2tfY2FsbGVkOwor KyAgLyogUHJvdGVjdGVkIGJ5IGNhbmNlbGxhYmxlX211dGV4OiAqLworKyAgZ2Jvb2xlYW4gICAg ICByZXN1cnJlY3RlZF9kdXJpbmdfY2FuY2VsbGF0aW9uOworIH0gR0NhbmNlbGxhYmxlU291cmNl OworIAorIC8qCitAQCAtNjYwLDM1ICs2OTIsMjcgQEAgY2FuY2VsbGFibGVfc291cmNlX2NhbmNl bGxlZCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSwKKyB7CisgICBHU291cmNlICpzb3VyY2Ug PSB1c2VyX2RhdGE7CisgICBHQ2FuY2VsbGFibGVTb3VyY2UgKmNhbmNlbGxhYmxlX3NvdXJjZSA9 IChHQ2FuY2VsbGFibGVTb3VyY2UgKikgc291cmNlOworLSAgZ2Jvb2xlYW4gY2FsbGJhY2tfd2Fz X25vdF9jYWxsZWQ7CisgCistICBnX3NvdXJjZV9yZWYgKHNvdXJjZSk7CistICBnX3NvdXJjZV9z ZXRfcmVhZHlfdGltZSAoc291cmNlLCAwKTsKKysgIGdfbXV0ZXhfbG9jayAoJmNhbmNlbGxhYmxl X211dGV4KTsKKyAKKy0gIGNhbGxiYWNrX3dhc19ub3RfY2FsbGVkID0gZ19hdG9taWNfaW50X2Nv bXBhcmVfYW5kX2V4Y2hhbmdlICgKKy0gICAgJmNhbmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGVk X2NhbGxiYWNrX2NhbGxlZCwgRkFMU0UsIFRSVUUpOworLSAgZ19hc3NlcnQgKGNhbGxiYWNrX3dh c19ub3RfY2FsbGVkKTsKKysgIC8qIERyb3AgdGhlIHJlZmVyZW5jZSBhZGRlZCBpbiBjYW5jZWxs YWJsZV9zb3VyY2VfZGlzcG9zZSgpOyBzZWUgdGhlIGNvbW1lbnQgdGhlcmUuCisrICAgKiBUaGUg cmVmZXJlbmNlIG11c3QgYmUgZHJvcHBlZCBhZnRlciB1bmxvY2tpbmcgQGNhbmNlbGxhYmxlX211 dGV4IHNpbmNlCisrICAgKiBpdCBjb3VsZCBiZSB0aGUgZmluYWwgcmVmZXJlbmNlLCBhbmQgdGhl IGRpc3Bvc2UgZnVuY3Rpb24gdGFrZXMKKysgICAqIEBjYW5jZWxsYWJsZV9tdXRleC4gKi8KKysg IGlmIChjYW5jZWxsYWJsZV9zb3VyY2UtPnJlc3VycmVjdGVkX2R1cmluZ19jYW5jZWxsYXRpb24p CisrICAgIHsKKysgICAgICBjYW5jZWxsYWJsZV9zb3VyY2UtPnJlc3VycmVjdGVkX2R1cmluZ19j YW5jZWxsYXRpb24gPSBGQUxTRTsKKysgICAgICBnX211dGV4X3VubG9jayAoJmNhbmNlbGxhYmxl X211dGV4KTsKKysgICAgICBnX3NvdXJjZV91bnJlZiAoc291cmNlKTsKKysgICAgICByZXR1cm47 CisrICAgIH0KKyAKKysgIGdfc291cmNlX3JlZiAoc291cmNlKTsKKysgIGdfbXV0ZXhfdW5sb2Nr ICgmY2FuY2VsbGFibGVfbXV0ZXgpOworKyAgZ19zb3VyY2Vfc2V0X3JlYWR5X3RpbWUgKHNvdXJj ZSwgMCk7CisgICBnX3NvdXJjZV91bnJlZiAoc291cmNlKTsKKyB9CisgCistc3RhdGljIGdib29s ZWFuCistY2FuY2VsbGFibGVfc291cmNlX3ByZXBhcmUgKEdTb3VyY2UgKnNvdXJjZSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAqdGltZW91dCkKKy17CistICBHQ2FuY2Vs bGFibGVTb3VyY2UgKmNhbmNlbGxhYmxlX3NvdXJjZSA9IChHQ2FuY2VsbGFibGVTb3VyY2UgKikg c291cmNlOworLSAgR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZTsKKy0KKy0gIGlmICh0aW1lb3V0 KQorLSAgICAqdGltZW91dCA9IC0xOworLQorLSAgY2FuY2VsbGFibGUgPSBnX2F0b21pY19wb2lu dGVyX2dldCAoJmNhbmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGFibGUpOworLSAgaWYgKGNhbmNl bGxhYmxlICYmICFnX2F0b21pY19pbnRfZ2V0ICgmY2FuY2VsbGFibGUtPnByaXYtPmNhbmNlbGxl ZF9ydW5uaW5nKSkKKy0gICAgZ19hdG9taWNfaW50X3NldCAoJmNhbmNlbGxhYmxlX3NvdXJjZS0+ Y2FuY2VsbGVkX2NhbGxiYWNrX2NhbGxlZCwgRkFMU0UpOworLQorLSAgcmV0dXJuIEZBTFNFOwor LX0KKy0KKyBzdGF0aWMgZ2Jvb2xlYW4KKyBjYW5jZWxsYWJsZV9zb3VyY2VfZGlzcGF0Y2ggKEdT b3VyY2UgICAgICpzb3VyY2UsCisgCQkJICAgICBHU291cmNlRnVuYyAgY2FsbGJhY2ssCitAQCAt NzA1LDEzICs3MjksMTIgQEAgc3RhdGljIHZvaWQKKyBjYW5jZWxsYWJsZV9zb3VyY2VfZGlzcG9z ZSAoR1NvdXJjZSAqc291cmNlKQorIHsKKyAgIEdDYW5jZWxsYWJsZVNvdXJjZSAqY2FuY2VsbGFi bGVfc291cmNlID0gKEdDYW5jZWxsYWJsZVNvdXJjZSAqKXNvdXJjZTsKKy0gIEdDYW5jZWxsYWJs ZSAqY2FuY2VsbGFibGU7CisgCistICBjYW5jZWxsYWJsZSA9IGdfYXRvbWljX3BvaW50ZXJfZXhj aGFuZ2UgKCZjYW5jZWxsYWJsZV9zb3VyY2UtPmNhbmNlbGxhYmxlLCBOVUxMKTsKKysgIGdfbXV0 ZXhfbG9jayAoJmNhbmNlbGxhYmxlX211dGV4KTsKKyAKKy0gIGlmIChjYW5jZWxsYWJsZSkKKysg IGlmIChjYW5jZWxsYWJsZV9zb3VyY2UtPmNhbmNlbGxhYmxlKQorICAgICB7CistICAgICAgaWYg KGdfYXRvbWljX2ludF9nZXQgKCZjYW5jZWxsYWJsZS0+cHJpdi0+Y2FuY2VsbGVkX3J1bm5pbmcp KQorKyAgICAgIGlmIChjYW5jZWxsYWJsZV9zb3VyY2UtPmNhbmNlbGxhYmxlLT5wcml2LT5jYW5j ZWxsZWRfcnVubmluZykKKyAgICAgICAgIHsKKyAgICAgICAgICAgLyogVGhlcmUgY2FuIGJlIGEg cmFjZSBoZXJlOiBpZiB0aHJlYWQgQSBoYXMgY2FsbGVkCisgICAgICAgICAgICAqIGdfY2FuY2Vs bGFibGVfY2FuY2VsKCkgYW5kIGhhcyBnb3QgYXMgZmFyIGFzIGNvbW1pdHRpbmcgdG8gY2FsbAor QEAgLTcyMywyMSArNzQ2LDIxIEBAIGNhbmNlbGxhYmxlX3NvdXJjZV9kaXNwb3NlIChHU291cmNl ICpzb3VyY2UpCisgICAgICAgICAgICAqIHdpbGwgdGhlbiBiZSBsZWZ0IGluIGEgc3RhdGUgd2hl cmUgaXTigJlzIGNvbW1pdHRlZCB0byB1c2luZyBhCisgICAgICAgICAgICAqIGRhbmdsaW5nIEdD YW5jZWxsYWJsZVNvdXJjZSBwb2ludGVyLgorICAgICAgICAgICAgKgorLSAgICAgICAgICAgKiBF bGltaW5hdGUgdGhhdCByYWNlIGJ5IHdhaXRpbmcgdG8gZW5zdXJlIHRoYXQgb3VyIGNhbmNlbGxl ZAorLSAgICAgICAgICAgKiBjYWxsYmFjayBoYXMgYmVlbiBjYWxsZWQsIGtlZXBpbmcgYSB0ZW1w b3JhcnkgcmVmLCBzbyB0aGF0CistICAgICAgICAgICAqIHRoZXJlJ3Mgbm8gcmlzayB0aGF0IHdl J3JlIHVucmVmZmluZyBzb21ldGhpbmcgdGhhdCBpcyBzdGlsbAorLSAgICAgICAgICAgKiBnb2lu ZyB0byBiZSB1c2VkLgorKyAgICAgICAgICAgKiBFbGltaW5hdGUgdGhhdCByYWNlIGJ5IHJlc3Vy cmVjdGluZyB0aGUgI0dTb3VyY2UgdGVtcG9yYXJpbHksIGFuZAorKyAgICAgICAgICAgKiB0aGVu IGRyb3BwaW5nIHRoYXQgcmVmZXJlbmNlIGluIGNhbmNlbGxhYmxlX3NvdXJjZV9jYW5jZWxsZWQo KSwKKysgICAgICAgICAgICogd2hpY2ggc2hvdWxkIGJlIGd1YXJhbnRlZWQgdG8gZmlyZSBiZWNh dXNlIHdl4oCZcmUgaW5zaWRlIGEKKysgICAgICAgICAgICogQGNhbmNlbGxlZF9ydW5uaW5nIGJs b2NrLgorICAgICAgICAgICAgKi8KKy0KKyAgICAgICAgICAgZ19zb3VyY2VfcmVmIChzb3VyY2Up OworLSAgICAgICAgICB3aGlsZSAoIWdfYXRvbWljX2ludF9nZXQgKCZjYW5jZWxsYWJsZV9zb3Vy Y2UtPmNhbmNlbGxlZF9jYWxsYmFja19jYWxsZWQpKQorLSAgICAgICAgICAgIDsKKy0gICAgICAg ICAgZ19zb3VyY2VfdW5yZWYgKHNvdXJjZSk7CisrICAgICAgICAgIGNhbmNlbGxhYmxlX3NvdXJj ZS0+cmVzdXJyZWN0ZWRfZHVyaW5nX2NhbmNlbGxhdGlvbiA9IFRSVUU7CisgICAgICAgICB9Cisg CistICAgICAgZ19jbGVhcl9zaWduYWxfaGFuZGxlciAoJmNhbmNlbGxhYmxlX3NvdXJjZS0+Y2Fu Y2VsbGVkX2hhbmRsZXIsIGNhbmNlbGxhYmxlKTsKKy0gICAgICBnX29iamVjdF91bnJlZiAoY2Fu Y2VsbGFibGUpOworKyAgICAgIGdfY2xlYXJfc2lnbmFsX2hhbmRsZXIgKCZjYW5jZWxsYWJsZV9z b3VyY2UtPmNhbmNlbGxlZF9oYW5kbGVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNhbmNlbGxhYmxlX3NvdXJjZS0+Y2FuY2VsbGFibGUpOworKyAgICAgIGdfY2xlYXJfb2JqZWN0 ICgmY2FuY2VsbGFibGVfc291cmNlLT5jYW5jZWxsYWJsZSk7CisgICAgIH0KKysKKysgIGdfbXV0 ZXhfdW5sb2NrICgmY2FuY2VsbGFibGVfbXV0ZXgpOworIH0KKyAKKyBzdGF0aWMgZ2Jvb2xlYW4K K0BAIC03NjYsNyArNzg5LDcgQEAgY2FuY2VsbGFibGVfc291cmNlX2Nsb3N1cmVfY2FsbGJhY2sg KEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGUsCisgCisgc3RhdGljIEdTb3VyY2VGdW5jcyBjYW5j ZWxsYWJsZV9zb3VyY2VfZnVuY3MgPQorIHsKKy0gIGNhbmNlbGxhYmxlX3NvdXJjZV9wcmVwYXJl LAorKyAgTlVMTCwKKyAgIE5VTEwsCisgICBjYW5jZWxsYWJsZV9zb3VyY2VfZGlzcGF0Y2gsCisg ICBOVUxMLAorZGlmZiAtLWdpdCBhL2dpby90ZXN0cy9jYW5jZWxsYWJsZS5jIGIvZ2lvL3Rlc3Rz L2NhbmNlbGxhYmxlLmMKK2luZGV4IGZhODRlMmUyYy4uNmYyNWQ2M2Q5IDEwMDY0NAorLS0tIGEv Z2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMKKysrKyBiL2dpby90ZXN0cy9jYW5jZWxsYWJsZS5jCitA QCAtMjYxLDYgKzI2MSwxMSBAQCB0aHJlYWRlZF9kaXNwb3NlX3RocmVhZF9jYiAoZ3BvaW50ZXIg dXNlcl9kYXRhKQorIHN0YXRpYyB2b2lkCisgdGVzdF9jYW5jZWxsYWJsZV9zb3VyY2VfdGhyZWFk ZWRfZGlzcG9zZSAodm9pZCkKKyB7CisrI2lmZGVmIF9HTElCX0FERFJFU1NfU0FOSVRJWkVSCisr ICBnX3Rlc3RfaW5jb21wbGV0ZSAoIkZJWE1FOiBMZWFrcyBsb3RzIG9mIEdDYW5jZWxsYWJsZVNv dXJjZSBvYmplY3RzLCBzZWUgZ2xpYiMyMzA5Iik7CisrICAodm9pZCkgY2FuY2VsbGVkX2NiOwor KyAgKHZvaWQpIHRocmVhZGVkX2Rpc3Bvc2VfdGhyZWFkX2NiOworKyNlbHNlCisgICBUaHJlYWRl ZERpc3Bvc2VEYXRhIGRhdGE7CisgICBHVGhyZWFkICp0aHJlYWQgPSBOVUxMOworICAgZ3VpbnQg aTsKK0BAIC0yNzAsMTAgKzI3NSw2IEBAIHRlc3RfY2FuY2VsbGFibGVfc291cmNlX3RocmVhZGVk X2Rpc3Bvc2UgKHZvaWQpCisgICAgICAgICAgICAgICAgICAgIihpbiBvbmUgdGhyZWFkKSBhbmQg Y2FuY2VsbGluZyB0aGUgR0NhbmNlbGxhYmxlIGl0IHJlZmVycyAiCisgICAgICAgICAgICAgICAg ICAgInRvIChpbiBhbm90aGVyIHRocmVhZCkiKTsKKyAgIGdfdGVzdF9idWcgKCJodHRwczovL2dp dGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9pc3N1ZXMvMTg0MSIpOworLSNpZmRlZiBfR0xJQl9B RERSRVNTX1NBTklUSVpFUgorLSAgZ190ZXN0X21lc3NhZ2UgKCJXZSBhbHNvIGVuc3VyZSB0aGF0 IG5vIEdDYW5jZWxsYWJsZVNvdXJjZSBhcmUgbGVha2VkIik7CistICBnX3Rlc3RfYnVnICgiaHR0 cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dsaWIvaXNzdWVzLzIzMDkiKTsKKy0jZW5kaWYK KyAKKyAgIC8qIENyZWF0ZSBhIG5ldyB0aHJlYWQgYW5kIHdhaXQgdW50aWwgaXTigJlzIHJlYWR5 IHRvIGV4ZWN1dGUuIEVhY2ggaXRlcmF0aW9uIG9mCisgICAgKiB0aGUgdGVzdCB3aWxsIHBhc3Mg aXQgYSBuZXcgI0dDYW5jZWxsYWJsZVNvdXJjZS4gKi8KK0BAIC0zMzQsNiArMzM1LDcgQEAgdGVz dF9jYW5jZWxsYWJsZV9zb3VyY2VfdGhyZWFkZWRfZGlzcG9zZSAodm9pZCkKKyAgIGdfY29uZF9j bGVhciAoJmRhdGEuY29uZCk7CisgCisgICBnX3B0cl9hcnJheV91bnJlZiAoY2FuY2VsbGFibGVz X3BlbmRpbmdfdW5yZWYpOworKyNlbmRpZgorIH0KKyAKKyBzdGF0aWMgdm9pZAorZGlmZiAtLWdp dCBhL2dpby90ZXN0cy9nbWVudW1vZGVsLmMgYi9naW8vdGVzdHMvZ21lbnVtb2RlbC5jCitpbmRl eCA3NWY1ZDg1ZjkuLjIyZDFiNGQ2MSAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9nbWVudW1vZGVs LmMKKysrKyBiL2dpby90ZXN0cy9nbWVudW1vZGVsLmMKK0BAIC0xMDA3LDE2ICsxMDA3LDE3IEBA IHRlc3RfZGJ1c19yb3VuZHRyaXAgKHZvaWQpCisgc3RhdGljIHZvaWQKKyB0ZXN0X2RidXNfcGVl cl9yb3VuZHRyaXAgKHZvaWQpCisgeworLSAgUGVlckNvbm5lY3Rpb24gcGVlcjsKKy0KKyAjaWZk ZWYgX0dMSUJfQUREUkVTU19TQU5JVElaRVIKKy0gIGdfdGVzdF9tZXNzYWdlICgiRW5zdXJlIHRo YXQgbm8gR0NhbmNlbGxhYmxlU291cmNlIGFyZSBsZWFrZWQiKTsKKy0gIGdfdGVzdF9idWcgKCJo dHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9pc3N1ZXMvMjMxMyIpOworLSNlbmRp ZgorKyAgZ190ZXN0X2luY29tcGxldGUgKCJGSVhNRTogTGVha3MgYSBHQ2FuY2VsbGFibGVTb3Vy Y2UsIHNlZSBnbGliIzIzMTMiKTsKKysgICh2b2lkKSBwZWVyX2Nvbm5lY3Rpb25fdXA7CisrICAo dm9pZCkgcGVlcl9jb25uZWN0aW9uX2Rvd247CisrI2Vsc2UKKysgIFBlZXJDb25uZWN0aW9uIHBl ZXI7CisgCisgICBwZWVyX2Nvbm5lY3Rpb25fdXAgKCZwZWVyKTsKKyAgIGRvX3JvdW5kdHJpcCAo cGVlci5zZXJ2ZXJfY29ubmVjdGlvbiwgcGVlci5jbGllbnRfY29ubmVjdGlvbik7CisgICBwZWVy X2Nvbm5lY3Rpb25fZG93biAoJnBlZXIpOworKyNlbmRpZgorIH0KKyAKKyBzdGF0aWMgZ2ludCBp dGVtc19jaGFuZ2VkX2NvdW50OworQEAgLTExNDUsMTYgKzExNDYsMTcgQEAgdGVzdF9kYnVzX3N1 YnNjcmlwdGlvbnMgKHZvaWQpCisgc3RhdGljIHZvaWQKKyB0ZXN0X2RidXNfcGVlcl9zdWJzY3Jp cHRpb25zICh2b2lkKQorIHsKKy0gIFBlZXJDb25uZWN0aW9uIHBlZXI7CistCisgI2lmZGVmIF9H TElCX0FERFJFU1NfU0FOSVRJWkVSCistICBnX3Rlc3RfbWVzc2FnZSAoIkVuc3VyZSB0aGF0IG5v IEdDYW5jZWxsYWJsZVNvdXJjZSBhcmUgbGVha2VkIik7CistICBnX3Rlc3RfYnVnICgiaHR0cHM6 Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dsaWIvaXNzdWVzLzIzMTMiKTsKKy0jZW5kaWYKKysg IGdfdGVzdF9pbmNvbXBsZXRlICgiRklYTUU6IExlYWtzIGEgR0NhbmNlbGxhYmxlU291cmNlLCBz ZWUgZ2xpYiMyMzEzIik7CisrICAodm9pZCkgcGVlcl9jb25uZWN0aW9uX3VwOworKyAgKHZvaWQp IHBlZXJfY29ubmVjdGlvbl9kb3duOworKyNlbHNlCisrICBQZWVyQ29ubmVjdGlvbiBwZWVyOwor IAorICAgcGVlcl9jb25uZWN0aW9uX3VwICgmcGVlcik7CisgICBkb19zdWJzY3JpcHRpb25zIChw ZWVyLnNlcnZlcl9jb25uZWN0aW9uLCBwZWVyLmNsaWVudF9jb25uZWN0aW9uKTsKKyAgIHBlZXJf Y29ubmVjdGlvbl9kb3duICgmcGVlcik7CisrI2VuZGlmCisgfQorIAorIHN0YXRpYyB2b2lkCist LSAKKzIuNDcuMQorCisKK0Zyb20gZGY3ZDkyZWQwMjhjODg4ZGU1N2FhYWEyYjk3NTgwMDg0OTg5 ZTg5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG5tb250ZXJvIDxubW9udGVyb0By ZWRoYXQuY29tPgorRGF0ZTogVHVlLCAyMSBKYW4gMjAyNSAxNzozMzoyNSArMDEwMAorU3ViamVj dDogW1BBVENIIDQvNF0gUmV2ZXJ0ICJnaW8vdGVzdHM6IEVuc3VyZSB0aGF0IGEgR0NhbmNlbGxh YmxlU291cmNlIGNhbgorIGJlIHVzZWQgbXVsaXBsZSB0aW1lcyIKKworVGhpcyByZXZlcnRzIGNv bW1pdCAwYThjYjEwZjIyNGZmMmRmZWQxNGY2NTAwZTc3Y2VlNjhhZTdkNGM0LgorLS0tCisgZ2lv L2djYW5jZWxsYWJsZS5jICAgICAgfCAgOCArKy0tLS0KKyBnaW8vdGVzdHMvY2FuY2VsbGFibGUu YyB8IDY0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMiBmaWxl cyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvZ2lvL2djYW5jZWxsYWJsZS5jIGIvZ2lvL2djYW5jZWxsYWJsZS5jCitpbmRleCBjMzU3Mjkx MGUuLjQxZmZhYjMyMiAxMDA2NDQKKy0tLSBhL2dpby9nY2FuY2VsbGFibGUuYworKysrIGIvZ2lv L2djYW5jZWxsYWJsZS5jCitAQCAtNTQxLDExICs1NDEsOSBAQCBnX2NhbmNlbGxhYmxlX2NhbmNl bCAoR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZSkKKyAgKiBzaWduYWwuIEFsc28gaGFuZGxlcyB0 aGUgcmFjZSBjb25kaXRpb24gdGhhdCBtYXkgaGFwcGVuCisgICogaWYgdGhlIGNhbmNlbGxhYmxl IGlzIGNhbmNlbGxlZCByaWdodCBiZWZvcmUgY29ubmVjdGluZy4KKyAgKgorLSAqIEBjYWxsYmFj ayBpcyBjYWxsZWQgZXhhY3RseSBvbmNlIGVhY2ggdGltZSBAY2FuY2VsbGFibGUgaXMgY2FuY2Vs bGVkLAorLSAqIGVpdGhlciBkaXJlY3RseSBhdCB0aGUgdGltZSBvZiB0aGUgY29ubmVjdCBpZiBA Y2FuY2VsbGFibGUgaXMgYWxyZWFkeQorLSAqIGNhbmNlbGxlZCwgb3Igd2hlbiBAY2FuY2VsbGFi bGUgaXMgY2FuY2VsbGVkIGluIHNvbWUgdGhyZWFkLgorLSAqIEluIGNhc2UgdGhlIGNhbmNlbGxh YmxlIGlzIHJlc2V0IHZpYSBbbWV0aG9kQEdpby5DYW5jZWxsYWJsZS5yZXNldF0KKy0gKiB0aGVu IHRoZSBjYWxsYmFjayBjYW4gYmUgY2FsbGVkIGFnYWluIGlmIHRoZSBAY2FuY2VsbGFibGUgaXMg Y2FuY2VsbGVkLgorKyAqIEBjYWxsYmFjayBpcyBjYWxsZWQgYXQgbW9zdCBvbmNlLCBlaXRoZXIg ZGlyZWN0bHkgYXQgdGhlCisrICogdGltZSBvZiB0aGUgY29ubmVjdCBpZiBAY2FuY2VsbGFibGUg aXMgYWxyZWFkeSBjYW5jZWxsZWQsCisrICogb3Igd2hlbiBAY2FuY2VsbGFibGUgaXMgY2FuY2Vs bGVkIGluIHNvbWUgdGhyZWFkLgorICAqCisgICogQGRhdGFfZGVzdHJveV9mdW5jIHdpbGwgYmUg Y2FsbGVkIHdoZW4gdGhlIGhhbmRsZXIgaXMKKyAgKiBkaXNjb25uZWN0ZWQsIG9yIGltbWVkaWF0 ZWx5IGlmIHRoZSBjYW5jZWxsYWJsZSBpcyBhbHJlYWR5CitkaWZmIC0tZ2l0IGEvZ2lvL3Rlc3Rz L2NhbmNlbGxhYmxlLmMgYi9naW8vdGVzdHMvY2FuY2VsbGFibGUuYworaW5kZXggNmYyNWQ2M2Q5 Li4zZjY4NTQ0NjIgMTAwNjQ0CistLS0gYS9naW8vdGVzdHMvY2FuY2VsbGFibGUuYworKysrIGIv Z2lvL3Rlc3RzL2NhbmNlbGxhYmxlLmMKK0BAIC04MTAsNjkgKzgxMCw2IEBAIHRlc3RfY2FuY2Vs bGFibGVfY2FuY2VsX3Jlc2V0X2Nvbm5lY3RfcmFjZXMgKHZvaWQpCisgICBnX29iamVjdF91bnJl ZiAoY2FuY2VsbGFibGUpOworIH0KKyAKKy1zdGF0aWMgZ2Jvb2xlYW4KKy1zb3VyY2VfY2FuY2Vs bGVkX2NvdW50ZXJfY2IgKEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGUsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBncG9pbnRlciAgICAgIHVzZXJfZGF0YSkKKy17CistICBndWludCAq bl9jYWxscyA9IHVzZXJfZGF0YTsKKy0KKy0gICpuX2NhbGxzID0gKm5fY2FsbHMgKyAxOworLQor LSAgcmV0dXJuIEdfU09VUkNFX0NPTlRJTlVFOworLX0KKy0KKy1zdGF0aWMgdm9pZAorLWRvX25v dGhpbmcgKEdfR05VQ19VTlVTRUQgdm9pZCAqdXNlcl9kYXRhKQorLXsKKy0gIC8qIEFuIGVtcHR5 IHRpbWVvdXQvaWRsZSBvbmNlIGNhbGxiYWNrIGZ1bmN0aW9uICovCistfQorLQorLXN0YXRpYyB2 b2lkCistdGVzdF9jYW5jZWxsYWJsZV9zb3VyY2VfY2FuX2JlX2ZpcmVkX211bHRpcGxlX3RpbWVz ICh2b2lkKQorLXsKKy0gIEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFibGU7CistICBHU291cmNlICpz b3VyY2U7CistICBndWludCBuX2NhbGxzID0gMDsKKy0KKy0gIGdfdGVzdF9zdW1tYXJ5ICgiVGVz dCBhIGNhbmNlbGxhYmxlIHNvdXJjZSBjYWxsYmFjayBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRp bWVzIik7CistICBnX3Rlc3RfYnVnICgiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2ds aWIvaXNzdWVzLzc3NCIpOworLQorLSAgY2FuY2VsbGFibGUgPSBnX2NhbmNlbGxhYmxlX25ldyAo KTsKKy0gIHNvdXJjZSA9IGdfY2FuY2VsbGFibGVfc291cmNlX25ldyAoY2FuY2VsbGFibGUpOwor LQorLSAgZ19zb3VyY2Vfc2V0X2NhbGxiYWNrIChzb3VyY2UsIEdfU09VUkNFX0ZVTkMgKHNvdXJj ZV9jYW5jZWxsZWRfY291bnRlcl9jYiksCistICAgICAgICAgICAgICAgICAgICAgICAgICZuX2Nh bGxzLCBOVUxMKTsKKy0gIGdfc291cmNlX2F0dGFjaCAoc291cmNlLCBOVUxMKTsKKy0KKy0gIGdf Y2FuY2VsbGFibGVfY2FuY2VsIChjYW5jZWxsYWJsZSk7CistICBnX2Fzc2VydF9jbXB1aW50IChu X2NhbGxzLCA9PSwgMCk7CistCistICB3aGlsZSAoZ19tYWluX2NvbnRleHRfcGVuZGluZyAoTlVM TCkpCistICAgIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGlvbiAoTlVMTCwgVFJVRSk7CistCistICBn X2Fzc2VydF9jbXB1aW50IChuX2NhbGxzLCA9PSwgMSk7CistCistICBnX2NhbmNlbGxhYmxlX2Nh bmNlbCAoY2FuY2VsbGFibGUpOworLQorLSAgZ190aW1lb3V0X2FkZF9vbmNlICgxMDAsIGRvX25v dGhpbmcsIE5VTEwpOworLSAgd2hpbGUgKGdfbWFpbl9jb250ZXh0X3BlbmRpbmcgKE5VTEwpKQor LSAgICBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKE5VTEwsIFRSVUUpOworLQorLSAgZ19hc3Nl cnRfY21wdWludCAobl9jYWxscywgPT0sIDEpOworLQorLSAgZ19jYW5jZWxsYWJsZV9yZXNldCAo Y2FuY2VsbGFibGUpOworLSAgZ19jYW5jZWxsYWJsZV9jYW5jZWwgKGNhbmNlbGxhYmxlKTsKKy0g IGdfYXNzZXJ0X2NtcHVpbnQgKG5fY2FsbHMsID09LCAxKTsKKy0KKy0gIHdoaWxlIChnX21haW5f Y29udGV4dF9wZW5kaW5nIChOVUxMKSkKKy0gICAgZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uIChO VUxMLCBUUlVFKTsKKy0KKy0gIGdfYXNzZXJ0X2NtcHVpbnQgKG5fY2FsbHMsID09LCAyKTsKKy0K Ky0gIGdfc291cmNlX3VucmVmIChzb3VyY2UpOworLSAgZ19vYmplY3RfdW5yZWYgKGNhbmNlbGxh YmxlKTsKKy19CistCisgaW50CisgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyB7CitA QCAtODg4LDcgKzgyNSw2IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICBnX3Rl c3RfYWRkX2Z1bmMgKCIvY2FuY2VsbGFibGUvY2FuY2VsLXJlc2V0LXJhY2VzIiwgdGVzdF9jYW5j ZWxsYWJsZV9jYW5jZWxfcmVzZXRfcmFjZXMpOworICAgZ190ZXN0X2FkZF9mdW5jICgiL2NhbmNl bGxhYmxlL2NhbmNlbC1yZXNldC1jb25uZWN0LXJhY2VzIiwgdGVzdF9jYW5jZWxsYWJsZV9jYW5j ZWxfcmVzZXRfY29ubmVjdF9yYWNlcyk7CisgICBnX3Rlc3RfYWRkX2Z1bmMgKCIvY2FuY2VsbGFi bGUtc291cmNlL3RocmVhZGVkLWRpc3Bvc2UiLCB0ZXN0X2NhbmNlbGxhYmxlX3NvdXJjZV90aHJl YWRlZF9kaXNwb3NlKTsKKy0gIGdfdGVzdF9hZGRfZnVuYyAoIi9jYW5jZWxsYWJsZS1zb3VyY2Uv Y2FuLWJlLWZpcmVkLW11bHRpcGxlLXRpbWVzIiwgdGVzdF9jYW5jZWxsYWJsZV9zb3VyY2VfY2Fu X2JlX2ZpcmVkX211bHRpcGxlX3RpbWVzKTsKKyAKKyAgIHJldHVybiBnX3Rlc3RfcnVuICgpOwor IH0KKy0tIAorMi40Ny4xCisK