From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id C713040608 for ; Sun, 23 Jul 2023 12:00:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 03DD668C5E2; Sun, 23 Jul 2023 15:00:51 +0300 (EEST) Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7569668C348 for ; Sun, 23 Jul 2023 15:00:44 +0300 (EEST) Received: from localhost.localdomain ([155.4.74.59]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MDykM-1qDfrT1pDw-00A1oq; Sun, 23 Jul 2023 14:00:43 +0200 From: Reimar.Doeffinger@gmx.de To: ffmpeg-devel@ffmpeg.org Date: Sun, 23 Jul 2023 14:00:16 +0200 Message-Id: <20230723120016.92184-1-Reimar.Doeffinger@gmx.de> X-Mailer: git-send-email 2.37.1 (Apple Git-137.1) In-Reply-To: <12826EED-5CFC-4DC4-ACEE-0BB505704FE7@reimardoeffinger.de> References: <12826EED-5CFC-4DC4-ACEE-0BB505704FE7@reimardoeffinger.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:TP3ABZVCpvSfI3B7Us3bWpmDUwyUtePulI5nQMIiQ8LWSW4sCEX Om8gFNkTIsDhHTvi0ZpkkZfAeRAawAHtUzo/KzDRs/veFtyig45ogDg21gEWVnzdJIFixds uwtkOK+zQKlDmrUFyyVhHPldCEERuMgvWbFblaGbvrW6FI6NQ6W9xhbgNjEwPvG1ZiwbbvF mnKIfGRBFNDzx7rD0e3hw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:6MsUALGKw2A=;2aa+pKazwQA64fs/Q2NAbC9KuGF l3JCqA0s2kVz8WfJ1aHfKbML0AxWb0QhDS/dPzzwGpL4rzYsp8Pwi9//mQvDQo6A7t8D9rPHE olT9kheGXU40gaYDQSXMidqDmJqNgbuYzFBW4ai1w9T/UKGR9Difyvi1Gg5Nk36BEjv5KOUCu sOa5yRmhCQEXhmepkmvDF3HUJ/Yd4mqrRlgCw5GEE3vz/GZnBxsGdNPq1j1MSmjKaWPuWWy04 LXsFQSNHedF0oaVVwr6aFxjTxRm7kX59TBalS5u1L1rP+cXVJ3+izoXTolQSVH/+TuJU11RI+ NXGYkJETrINspD65M8ZciAwH8Uzk9Rp+n0QCe0KYl4RHhDSM6VicVc+HOts9oeU3gLdr8mcPq BpzYwdd2kjTmDEY1wxVAhRyntBWaRgPDJMUNlGfC3zjGUjacVB84oWZ1X8RIePt0/AoXAq8DE i4l6M67ikfQJVg/BDLPtDi6hsc2uW+5CPOgsUdY/j+asnsDHC49U5Skry9aITjMpGMzwcZDtU Vc6OWxoy3MabEzfc+DlXv3ckHEN3hTHJm+ez+u3S0sxlYwIxpRxjQuE+/LfNdHplRBwnvoafp umkF8wI89EtLa+KsWk2wQ8mzcGyB0jB+9dsFZ0aPm0YwA0jdYOH8zVKpkOluqIQQ3MC44jamw eJw5nWYoXNJG37qX9R4NFgXRlEXZe2UhUMc4OWMDAQ== Subject: [FFmpeg-devel] [PATCH] libaformat: fix incorrect handling of incomplete AVBPrint. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: RnJvbTogUmVpbWFyIETDtmZmaW5nZXIgPFJlaW1hci5Eb2VmZmluZ2VyQGdteC5kZT4KCkNoYW5n ZSBzb21lIGludGVybmFsIEFQSXMgYSBiaXQgdG8gbWFrZSBpdCBoYXJkZXIgdG8gbWFrZQpzdWNo IG1pc3Rha2VzLgpJbiBwYXJ0aWN1bGFyLCBoYXZlIHRoZSByZWFkIGNodW5rIGZ1bmN0aW9ucyBy ZXR1cm4gYW4gZXJyb3IKd2hlbiB0aGUgcmVzdWx0IGlzIGluY29tcGxldGUuClRoaXMgbWlnaHQg YmUgbGVzcyBmbGV4aWJsZSwgYnV0IHNpbmNlIHRoZXJlIGhhcyBiZWVuIG5vCnVzZS1jYXNlIGZv ciB0aGF0IHNvIGZhciwgYXZvaWRpbmcgY29kaW5nIG1pc3Rha2VzIHNlZW1zIGJldHRlci4KQWRk IGEgZnVuY3Rpb24gdG8gcXVldWUgYSBBVkJQcmludCBkaXJlY3RseSAoZmZfc3VidGl0bGVzX3F1 ZXVlX2luc2VydF9icHJpbnQpLgpBbHNvIGZpeGVzIGEgbGVhayBpbiBscmNkZWMgd2hlbiBmZl9z dWJ0aXRsZXNfcXVldWVfaW5zZXJ0IGZhaWxzLgotLS0KIGxpYmF2Zm9ybWF0L2Fzc2RlYy5jICAg ICAgICAgfCAgNCArKystCiBsaWJhdmZvcm1hdC9scmNkZWMuYyAgICAgICAgIHwgIDcgKysrKysr LQogbGliYXZmb3JtYXQvbXBzdWJkZWMuYyAgICAgICB8ICA1ICsrKy0tCiBsaWJhdmZvcm1hdC9y ZWFsdGV4dGRlYy5jICAgIHwgIDYgKysrKystCiBsaWJhdmZvcm1hdC9zYW1pZGVjLmMgICAgICAg IHwgIDYgKysrKystCiBsaWJhdmZvcm1hdC9zcnRkZWMuYyAgICAgICAgIHwgIDQgKysrLQogbGli YXZmb3JtYXQvc3VidGl0bGVzLmMgICAgICB8IDE3ICsrKysrKysrKysrKystLS0tCiBsaWJhdmZv cm1hdC9zdWJ0aXRsZXMuaCAgICAgIHwgMTQgKysrKysrKysrKysrLS0KIGxpYmF2Zm9ybWF0L3Rl ZGNhcHRpb25zZGVjLmMgfCAgMiArLQogbGliYXZmb3JtYXQvd2VidnR0ZGVjLmMgICAgICB8ICA0 ICsrKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2Fzc2RlYy5jIGIvbGliYXZmb3JtYXQvYXNzZGVj LmMKaW5kZXggMDkxNWY2ZmFmZC4uYmY3YjhhNzNhMiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQv YXNzZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvYXNzZGVjLmMKQEAgLTczLDYgKzczLDggQEAgc3Rh dGljIGludCByZWFkX2RpYWxvZ3VlKEFTU0NvbnRleHQgKmFzcywgQVZCUHJpbnQgKmRzdCwgY29u c3QgdWludDhfdCAqcCwKIAogICAgICAgICBhdl9icHJpbnRfY2xlYXIoZHN0KTsKICAgICAgICAg YXZfYnByaW50Zihkc3QsICIldSwlZCwlcyIsIGFzcy0+cmVhZG9yZGVyKyssIGxheWVyLCBwICsg cG9zKTsKKyAgICAgICAgaWYgKCFhdl9icHJpbnRfaXNfY29tcGxldGUoZHN0KSkKKyAgICAgICAg ICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAKICAgICAgICAgLyogcmlnaHQgc3RyaXAgdGhl IGJ1ZmZlciAqLwogICAgICAgICB3aGlsZSAoZHN0LT5sZW4gPiAwICYmCkBAIC0xMzUsNyArMTM3 LDcgQEAgc3RhdGljIGludCBhc3NfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAg ICAgICAgICAgYXZfYnByaW50ZigmaGVhZGVyLCAiJXMiLCBsaW5lLnN0cik7CiAgICAgICAgICAg ICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICBzdWIgPSBmZl9zdWJ0aXRsZXNfcXVldWVf aW5zZXJ0KCZhc3MtPnEsIHJsaW5lLnN0ciwgcmxpbmUubGVuLCAwKTsKKyAgICAgICAgc3ViID0g ZmZfc3VidGl0bGVzX3F1ZXVlX2luc2VydF9icHJpbnQoJmFzcy0+cSwgJnJsaW5lLCAwKTsKICAg ICAgICAgaWYgKCFzdWIpIHsKICAgICAgICAgICAgIHJlcyA9IEFWRVJST1IoRU5PTUVNKTsKICAg ICAgICAgICAgIGdvdG8gZW5kOwpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbHJjZGVjLmMgYi9s aWJhdmZvcm1hdC9scmNkZWMuYwppbmRleCBmZmYzOTQ5NWY4Li44M2JiNGE0Yjc1IDEwMDY0NAot LS0gYS9saWJhdmZvcm1hdC9scmNkZWMuYworKysgYi9saWJhdmZvcm1hdC9scmNkZWMuYwpAQCAt MTcxLDYgKzE3MSw4IEBAIHN0YXRpYyBpbnQgbHJjX3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4 dCAqcykKIAogICAgIHdoaWxlKCFhdmlvX2Zlb2Yocy0+cGIpKSB7CiAgICAgICAgIGludDY0X3Qg cG9zID0gcmVhZF9saW5lKCZsaW5lLCBzLT5wYik7CisgICAgICAgIGlmICghYXZfYnByaW50X2lz X2NvbXBsZXRlKCZsaW5lKSkKKyAgICAgICAgICAgIGdvdG8gZXJyX25vbWVtX291dDsKICAgICAg ICAgaW50NjRfdCBoZWFkZXJfb2Zmc2V0ID0gZmluZF9oZWFkZXIobGluZS5zdHIpOwogICAgICAg ICBpZihoZWFkZXJfb2Zmc2V0ID49IDApIHsKICAgICAgICAgICAgIGNoYXIgKmNvbW1hX29mZnNl dCA9IHN0cmNocihsaW5lLnN0ciwgJzonKTsKQEAgLTIwNSw3ICsyMDcsNyBAQCBzdGF0aWMgaW50 IGxyY19yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgICAgICAgICAgICAgc3Vi ID0gZmZfc3VidGl0bGVzX3F1ZXVlX2luc2VydCgmbHJjLT5xLCBsaW5lLnN0ciArIHRzX3N0cmxl bmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp bmUubGVuIC0gdHNfc3RybGVuZ3RoLCAwKTsKICAgICAgICAgICAgICAgICBpZiAoIXN1YikKLSAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKKyAgICAgICAgICAgICAg ICAgICAgZ290byBlcnJfbm9tZW1fb3V0OwogICAgICAgICAgICAgICAgIHN1Yi0+cG9zID0gcG9z OwogICAgICAgICAgICAgICAgIHN1Yi0+cHRzID0gdHNfc3RhcnQgLSBscmMtPnRzX29mZnNldDsK ICAgICAgICAgICAgICAgICBzdWItPmR1cmF0aW9uID0gLTE7CkBAIC0yMTYsNiArMjE4LDkgQEAg c3RhdGljIGludCBscmNfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgIGZmX21l dGFkYXRhX2NvbnZfY3R4KHMsIE5VTEwsIGZmX2xyY19tZXRhZGF0YV9jb252KTsKICAgICBhdl9i cHJpbnRfZmluYWxpemUoJmxpbmUsIE5VTEwpOwogICAgIHJldHVybiAwOworZXJyX25vbWVtX291 dDoKKyAgICBhdl9icHJpbnRfZmluYWxpemUoJmxpbmUsIE5VTEwpOworICAgIHJldHVybiBBVkVS Uk9SKEVOT01FTSk7CiB9CiAKIGNvbnN0IEFWSW5wdXRGb3JtYXQgZmZfbHJjX2RlbXV4ZXIgPSB7 CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tcHN1YmRlYy5jIGIvbGliYXZmb3JtYXQvbXBzdWJk ZWMuYwppbmRleCBkMjkwYTQxZmI5Li4wMzc0NTYzNTc1IDEwMDY0NAotLS0gYS9saWJhdmZvcm1h dC9tcHN1YmRlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L21wc3ViZGVjLmMKQEAgLTExNiw5ICsxMTYs MTAgQEAgc3RhdGljIGludCBtcHN1Yl9yZWFkX2hlYWRlcihBVkZvcm1hdENvbnRleHQgKnMpCiAg ICAgICAgICAgICBBVlBhY2tldCAqc3ViOwogICAgICAgICAgICAgY29uc3QgaW50NjRfdCBwb3Mg PSBhdmlvX3RlbGwocy0+cGIpOwogCi0gICAgICAgICAgICBmZl9zdWJ0aXRsZXNfcmVhZF9jaHVu ayhzLT5wYiwgJmJ1Zik7CisgICAgICAgICAgICByZXMgPSBmZl9zdWJ0aXRsZXNfcmVhZF9jaHVu ayhzLT5wYiwgJmJ1Zik7CisgICAgICAgICAgICBpZiAocmVzIDwgMCkgZ290byBlbmQ7CiAgICAg ICAgICAgICBpZiAoYnVmLmxlbikgewotICAgICAgICAgICAgICAgIHN1YiA9IGZmX3N1YnRpdGxl c19xdWV1ZV9pbnNlcnQoJm1wc3ViLT5xLCBidWYuc3RyLCBidWYubGVuLCAwKTsKKyAgICAgICAg ICAgICAgICBzdWIgPSBmZl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0X2JwcmludCgmbXBzdWItPnEs ICZidWYsIDApOwogICAgICAgICAgICAgICAgIGlmICghc3ViKSB7CiAgICAgICAgICAgICAgICAg ICAgIHJlcyA9IEFWRVJST1IoRU5PTUVNKTsKICAgICAgICAgICAgICAgICAgICAgZ290byBlbmQ7 CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9yZWFsdGV4dGRlYy5jIGIvbGliYXZmb3JtYXQvcmVh bHRleHRkZWMuYwppbmRleCBjMjgxZGVjMzQ2Li43OTkyYTViN2ZjIDEwMDY0NAotLS0gYS9saWJh dmZvcm1hdC9yZWFsdGV4dGRlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L3JlYWx0ZXh0ZGVjLmMKQEAg LTgwLDYgKzgwLDEwIEBAIHN0YXRpYyBpbnQgcmVhbHRleHRfcmVhZF9oZWFkZXIoQVZGb3JtYXRD b250ZXh0ICpzKQogICAgICAgICBjb25zdCBpbnQ2NF90IHBvcyA9IGZmX3RleHRfcG9zKCZ0cikg LSAoYyAhPSAwKTsKICAgICAgICAgaW50IG4gPSBmZl9zbWlsX2V4dHJhY3RfbmV4dF90ZXh0X2No dW5rKCZ0ciwgJmJ1ZiwgJmMpOwogCisgICAgICAgIGlmIChuIDwgMCkgeworICAgICAgICAgICAg cmVzID0gbjsKKyAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICB9CiAgICAgICAgIGlmIChu ID09IDApCiAgICAgICAgICAgICBicmVhazsKIApAQCAtMTAzLDcgKzEwNyw3IEBAIHN0YXRpYyBp bnQgcmVhbHRleHRfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICAgICAg LyogaWYgd2UganVzdCByZWFkIGEgPHRpbWU+IHRhZywgaW50cm9kdWNlIGEgbmV3IGV2ZW50LCBv dGhlcndpc2UgbWVyZ2UKICAgICAgICAgICAgICAqIHdpdGggdGhlIHByZXZpb3VzIG9uZSAqLwog ICAgICAgICAgICAgaW50IG1lcmdlID0gIWF2X3N0cm5jYXNlY21wKGJ1Zi5zdHIsICI8dGltZSIs IDUpID8gMCA6IDE7Ci0gICAgICAgICAgICBzdWIgPSBmZl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0 KCZydC0+cSwgYnVmLnN0ciwgYnVmLmxlbiwgbWVyZ2UpOworICAgICAgICAgICAgc3ViID0gZmZf c3VidGl0bGVzX3F1ZXVlX2luc2VydF9icHJpbnQoJnJ0LT5xLCAmYnVmLCBtZXJnZSk7CiAgICAg ICAgICAgICBpZiAoIXN1YikgewogICAgICAgICAgICAgICAgIHJlcyA9IEFWRVJST1IoRU5PTUVN KTsKICAgICAgICAgICAgICAgICBnb3RvIGVuZDsKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3Nh bWlkZWMuYyBiL2xpYmF2Zm9ybWF0L3NhbWlkZWMuYwppbmRleCAwZGEyOTkzNDNkLi4wNzBiNjIz ZWJmIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9zYW1pZGVjLmMKKysrIGIvbGliYXZmb3JtYXQv c2FtaWRlYy5jCkBAIC02OCw2ICs2OCwxMCBAQCBzdGF0aWMgaW50IHNhbWlfcmVhZF9oZWFkZXIo QVZGb3JtYXRDb250ZXh0ICpzKQogICAgICAgICBjb25zdCBpbnQ2NF90IHBvcyA9IGZmX3RleHRf cG9zKCZ0cikgLSAoYyAhPSAwKTsKICAgICAgICAgaW50IGlzX3N5bmMsIGlzX2JvZHksIG4gPSBm Zl9zbWlsX2V4dHJhY3RfbmV4dF90ZXh0X2NodW5rKCZ0ciwgJmJ1ZiwgJmMpOwogCisgICAgICAg IGlmIChuIDwgMCkgeworICAgICAgICAgICAgcmVzID0gbjsKKyAgICAgICAgICAgIGdvdG8gZW5k OworICAgICAgICB9CiAgICAgICAgIGlmIChuID09IDApCiAgICAgICAgICAgICBicmVhazsKIApA QCAtODQsNyArODgsNyBAQCBzdGF0aWMgaW50IHNhbWlfcmVhZF9oZWFkZXIoQVZGb3JtYXRDb250 ZXh0ICpzKQogICAgICAgICBpZiAoIWdvdF9maXJzdF9zeW5jX3BvaW50KSB7CiAgICAgICAgICAg ICBhdl9icHJpbnRmKCZoZHJfYnVmLCAiJXMiLCBidWYuc3RyKTsKICAgICAgICAgfSBlbHNlIHsK LSAgICAgICAgICAgIHN1YiA9IGZmX3N1YnRpdGxlc19xdWV1ZV9pbnNlcnQoJnNhbWktPnEsIGJ1 Zi5zdHIsIGJ1Zi5sZW4sICFpc19zeW5jKTsKKyAgICAgICAgICAgIHN1YiA9IGZmX3N1YnRpdGxl c19xdWV1ZV9pbnNlcnRfYnByaW50KCZzYW1pLT5xLCAmYnVmLCAhaXNfc3luYyk7CiAgICAgICAg ICAgICBpZiAoIXN1YikgewogICAgICAgICAgICAgICAgIHJlcyA9IEFWRVJST1IoRU5PTUVNKTsK ICAgICAgICAgICAgICAgICBhdl9icHJpbnRfZmluYWxpemUoJmhkcl9idWYsIE5VTEwpOwpkaWZm IC0tZ2l0IGEvbGliYXZmb3JtYXQvc3J0ZGVjLmMgYi9saWJhdmZvcm1hdC9zcnRkZWMuYwppbmRl eCBiZjAyNDUwNTU1Li42MzVjMTU1MGI5IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9zcnRkZWMu YworKysgYi9saWJhdmZvcm1hdC9zcnRkZWMuYwpAQCAtOTcsMTIgKzk3LDE0IEBAIHN0YXRpYyBp bnQgYWRkX2V2ZW50KEZGRGVtdXhTdWJ0aXRsZXNRdWV1ZSAqcSwgQVZCUHJpbnQgKmJ1ZiwgY2hh ciAqbGluZV9jYWNoZSwKICAgICBpZiAoYXBwZW5kX2NhY2hlICYmIGxpbmVfY2FjaGVbMF0pCiAg ICAgICAgIGF2X2JwcmludGYoYnVmLCAiJXNcbiIsIGxpbmVfY2FjaGUpOwogICAgIGxpbmVfY2Fj aGVbMF0gPSAwOworICAgIGlmICghYXZfYnByaW50X2lzX2NvbXBsZXRlKGJ1ZikpCisgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7CiAKICAgICB3aGlsZSAoYnVmLT5sZW4gPiAwICYmIGJ1 Zi0+c3RyW2J1Zi0+bGVuIC0gMV0gPT0gJ1xuJykKICAgICAgICAgYnVmLT5zdHJbLS1idWYtPmxl bl0gPSAwOwogCiAgICAgaWYgKGJ1Zi0+bGVuKSB7Ci0gICAgICAgIEFWUGFja2V0ICpzdWIgPSBm Zl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0KHEsIGJ1Zi0+c3RyLCBidWYtPmxlbiwgMCk7CisgICAg ICAgIEFWUGFja2V0ICpzdWIgPSBmZl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0X2JwcmludChxLCBi dWYsIDApOwogICAgICAgICBpZiAoIXN1YikKICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVO T01FTSk7CiAgICAgICAgIGF2X2JwcmludF9jbGVhcihidWYpOwpkaWZmIC0tZ2l0IGEvbGliYXZm b3JtYXQvc3VidGl0bGVzLmMgYi9saWJhdmZvcm1hdC9zdWJ0aXRsZXMuYwppbmRleCAzYmE1ZTJi MjE3Li45Njk0NWE3NWRkIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9zdWJ0aXRsZXMuYworKysg Yi9saWJhdmZvcm1hdC9zdWJ0aXRsZXMuYwpAQCAtMTQ1LDYgKzE0NSwxMyBAQCBBVlBhY2tldCAq ZmZfc3VidGl0bGVzX3F1ZXVlX2luc2VydChGRkRlbXV4U3VidGl0bGVzUXVldWUgKnEsCiAgICAg cmV0dXJuIHN1YjsKIH0KIAorQVZQYWNrZXQgKmZmX3N1YnRpdGxlc19xdWV1ZV9pbnNlcnRfYnBy aW50KEZGRGVtdXhTdWJ0aXRsZXNRdWV1ZSAqcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBBVkJQcmludCAqZXZlbnQsIGludCBtZXJnZSkKK3sKKyAg ICBpZiAoIWF2X2JwcmludF9pc19jb21wbGV0ZShldmVudCkpIHJldHVybiBOVUxMOworICAgIHJl dHVybiBmZl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0KHEsIGV2ZW50LT5zdHIsIGV2ZW50LT5sZW4s IG1lcmdlKTsKK30KKwogc3RhdGljIGludCBjbXBfcGt0X3N1Yl90c19wb3MoY29uc3Qgdm9pZCAq YSwgY29uc3Qgdm9pZCAqYikKIHsKICAgICBjb25zdCBBVlBhY2tldCAqczEgPSAqKGNvbnN0IEFW UGFja2V0ICoqKWE7CkBAIC0zNDcsMTMgKzM1NCwxNCBAQCBpbnQgZmZfc21pbF9leHRyYWN0X25l eHRfdGV4dF9jaHVuayhGRlRleHRSZWFkZXIgKnRyLCBBVkJQcmludCAqYnVmLCBjaGFyICpjKQog ICAgIGRvIHsKICAgICAgICAgYXZfYnByaW50X2NoYXJzKGJ1ZiwgKmMsIDEpOwogICAgICAgICAq YyA9IGZmX3RleHRfcjgodHIpOworICAgICAgICBpZiAoaSA9PSBJTlRfTUFYKSByZXR1cm4gQVZF UlJPUl9JTlZBTElEREFUQTsKICAgICAgICAgaSsrOwogICAgIH0gd2hpbGUgKCpjICE9IGVuZF9j aHIgJiYgKmMpOwogICAgIGlmIChlbmRfY2hyID09ICc+JykgewogICAgICAgICBhdl9icHJpbnRf Y2hhcnMoYnVmLCAnPicsIDEpOwogICAgICAgICAqYyA9IDA7CiAgICAgfQotICAgIHJldHVybiBp OworICAgIHJldHVybiBhdl9icHJpbnRfaXNfY29tcGxldGUoYnVmKSA/IGkgOiBBVkVSUk9SKEVO T01FTSk7CiB9CiAKIGNvbnN0IGNoYXIgKmZmX3NtaWxfZ2V0X2F0dHJfcHRyKGNvbnN0IGNoYXIg KnMsIGNvbnN0IGNoYXIgKmF0dHIpCkBAIC0zODEsNyArMzg5LDcgQEAgc3RhdGljIGlubGluZSBp bnQgaXNfZW9sKGNoYXIgYykKICAgICByZXR1cm4gYyA9PSAnXHInIHx8IGMgPT0gJ1xuJzsKIH0K IAotdm9pZCBmZl9zdWJ0aXRsZXNfcmVhZF90ZXh0X2NodW5rKEZGVGV4dFJlYWRlciAqdHIsIEFW QlByaW50ICpidWYpCitpbnQgZmZfc3VidGl0bGVzX3JlYWRfdGV4dF9jaHVuayhGRlRleHRSZWFk ZXIgKnRyLCBBVkJQcmludCAqYnVmKQogewogICAgIGNoYXIgZW9sX2J1Zls1XSwgbGFzdF93YXNf Y3IgPSAwOwogICAgIGludCBuID0gMCwgaSA9IDAsIG5iX2VvbCA9IDA7CkBAIC00MjEsMTUgKzQy OSwxNiBAQCB2b2lkIGZmX3N1YnRpdGxlc19yZWFkX3RleHRfY2h1bmsoRkZUZXh0UmVhZGVyICp0 ciwgQVZCUHJpbnQgKmJ1ZikKICAgICAgICAgYXZfYnByaW50X2NoYXJzKGJ1ZiwgYywgMSk7CiAg ICAgICAgIG4rKzsKICAgICB9CisgICAgcmV0dXJuIGF2X2JwcmludF9pc19jb21wbGV0ZShidWYp ID8gMCA6IEFWRVJST1IoRU5PTUVNKTsKIH0KIAotdm9pZCBmZl9zdWJ0aXRsZXNfcmVhZF9jaHVu ayhBVklPQ29udGV4dCAqcGIsIEFWQlByaW50ICpidWYpCitpbnQgZmZfc3VidGl0bGVzX3JlYWRf Y2h1bmsoQVZJT0NvbnRleHQgKnBiLCBBVkJQcmludCAqYnVmKQogewogICAgIEZGVGV4dFJlYWRl ciB0cjsKICAgICB0ci5idWZfcG9zID0gdHIuYnVmX2xlbiA9IDA7CiAgICAgdHIudHlwZSA9IDA7 CiAgICAgdHIucGIgPSBwYjsKLSAgICBmZl9zdWJ0aXRsZXNfcmVhZF90ZXh0X2NodW5rKCZ0ciwg YnVmKTsKKyAgICByZXR1cm4gZmZfc3VidGl0bGVzX3JlYWRfdGV4dF9jaHVuaygmdHIsIGJ1Zik7 CiB9CiAKIHB0cmRpZmZfdCBmZl9zdWJ0aXRsZXNfcmVhZF9saW5lKEZGVGV4dFJlYWRlciAqdHIs IGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUpCmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9zdWJ0aXRs ZXMuaCBiL2xpYmF2Zm9ybWF0L3N1YnRpdGxlcy5oCmluZGV4IDQ0NjBlZmFjZjMuLmY2Njg4Yjcx ZDcgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3N1YnRpdGxlcy5oCisrKyBiL2xpYmF2Zm9ybWF0 L3N1YnRpdGxlcy5oCkBAIC0xMjAsNiArMTIwLDEyIEBAIHR5cGVkZWYgc3RydWN0IHsKIEFWUGFj a2V0ICpmZl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0KEZGRGVtdXhTdWJ0aXRsZXNRdWV1ZSAqcSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmV2ZW50 LCBzaXplX3QgbGVuLCBpbnQgbWVyZ2UpOwogCisvKioKKyAqIFNhbWUgYXMgZmZfc3VidGl0bGVz X3F1ZXVlX2luc2VydCBidXQgdGFrZXMgYW4gQVZCUHJpbnQgaW5wdXQuCisgKiBBdm9pZHMgY29t bW9uIGVycm9ycyBsaWtlIGhhbmRsaW5nIGluY29tcGxldGUgQVZCUHJpbnQuCisgKi8KK0FWUGFj a2V0ICpmZl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0X2JwcmludChGRkRlbXV4U3VidGl0bGVzUXVl dWUgKnEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg QVZCUHJpbnQgKmV2ZW50LCBpbnQgbWVyZ2UpOwogLyoqCiAgKiBTZXQgbWlzc2luZyBkdXJhdGlv bnMsIHNvcnQgc3VidGl0bGVzIGJ5IFBUUyAoYW5kIHRoZW4gYnl0ZSBwb3NpdGlvbiksIGFuZAog ICogZHJvcCBkdXBsaWNhdGVkIGV2ZW50cy4KQEAgLTE1NSw2ICsxNjEsNyBAQCBpbnQgZmZfc3Vi dGl0bGVzX3JlYWRfY2xvc2UoQVZGb3JtYXRDb250ZXh0ICpzKTsKICAqIFNNSUwgaGVscGVyIHRv IGxvYWQgbmV4dCBjaHVuayAoIjwuLi4+IiBvciB1bnRhZ2dlZCBjb250ZW50KSBpbiBidWYuCiAg KgogICogQHBhcmFtIGMgY2FjaGVkIGNoYXJhY3RlciwgdG8gYXZvaWQgYSBiYWNrd2FyZCBzZWVr CisgKiBAcmV0dXJuIHNpemUgb2YgY2h1bmsgb3IgZXJyb3IsIGUuZy4gQVZFUlJPUihFTk9NRU0p IG9uIGluY29tcGxldGUgYnVmCiAgKi8KIGludCBmZl9zbWlsX2V4dHJhY3RfbmV4dF90ZXh0X2No dW5rKEZGVGV4dFJlYWRlciAqdHIsIEFWQlByaW50ICpidWYsIGNoYXIgKmMpOwogCkBAIC0xNjks NyArMTc2LDggQEAgY29uc3QgY2hhciAqZmZfc21pbF9nZXRfYXR0cl9wdHIoY29uc3QgY2hhciAq cywgY29uc3QgY2hhciAqYXR0cik7CiAvKioKICAqIEBicmllZiBTYW1lIGFzIGZmX3N1YnRpdGxl c19yZWFkX3RleHRfY2h1bmsoKSwgYnV0IHJlYWQgZnJvbSBhbiBBVklPQ29udGV4dC4KICAqLwot dm9pZCBmZl9zdWJ0aXRsZXNfcmVhZF9jaHVuayhBVklPQ29udGV4dCAqcGIsIEFWQlByaW50ICpi dWYpOworYXZfd2Fybl91bnVzZWRfcmVzdWx0CitpbnQgZmZfc3VidGl0bGVzX3JlYWRfY2h1bmso QVZJT0NvbnRleHQgKnBiLCBBVkJQcmludCAqYnVmKTsKIAogLyoqCiAgKiBAYnJpZWYgUmVhZCBh IHN1YnRpdGxlcyBjaHVuayBmcm9tIEZGVGV4dFJlYWRlci4KQEAgLTE4MSwxMCArMTg5LDEyIEBA IHZvaWQgZmZfc3VidGl0bGVzX3JlYWRfY2h1bmsoQVZJT0NvbnRleHQgKnBiLCBBVkJQcmludCAq YnVmKTsKICAqCiAgKiBAcGFyYW0gdHIgIEkvTyBjb250ZXh0CiAgKiBAcGFyYW0gYnVmIGFuIGlu aXRpYWxpemVkIGJ1ZiB3aGVyZSB0aGUgY2h1bmsgaXMgd3JpdHRlbgorICogQHJldHVybiAwIG9u IHN1Y2Nlc3MsIGVycm9yIHZhbHVlIG90aGVyd2lzZSwgZS5nLiBBVkVSUk9SKEVOT01FTSkgaWYg YnVmIGlzIGluY29tcGxldGUKICAqCiAgKiBAbm90ZSBidWYgaXMgY2xlYXJlZCBiZWZvcmUgd3Jp dGluZyBpbnRvIGl0LgogICovCi12b2lkIGZmX3N1YnRpdGxlc19yZWFkX3RleHRfY2h1bmsoRkZU ZXh0UmVhZGVyICp0ciwgQVZCUHJpbnQgKmJ1Zik7Cithdl93YXJuX3VudXNlZF9yZXN1bHQKK2lu dCBmZl9zdWJ0aXRsZXNfcmVhZF90ZXh0X2NodW5rKEZGVGV4dFJlYWRlciAqdHIsIEFWQlByaW50 ICpidWYpOwogCiAvKioKICAqIEdldCB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gaW5jcmVt ZW50IHRvIGp1bXAgdG8gdGhlIG5leHQgbGluZSwgb3IgdG8KZGlmZiAtLWdpdCBhL2xpYmF2Zm9y bWF0L3RlZGNhcHRpb25zZGVjLmMgYi9saWJhdmZvcm1hdC90ZWRjYXB0aW9uc2RlYy5jCmluZGV4 IDMxMTk3MzQ5YjAuLmE4YWE5ZDljZjkgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3RlZGNhcHRp b25zZGVjLmMKKysrIGIvbGliYXZmb3JtYXQvdGVkY2FwdGlvbnNkZWMuYwpAQCAtMjQ0LDcgKzI0 NCw3IEBAIHN0YXRpYyBpbnQgcGFyc2VfZmlsZShBVklPQ29udGV4dCAqcGIsIEZGRGVtdXhTdWJ0 aXRsZXNRdWV1ZSAqc3VicykKICAgICAgICAgICAgIHJldCA9IEFWRVJST1JfSU5WQUxJRERBVEE7 CiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIH0KLSAgICAgICAgcGt0ID0gZmZfc3Vi dGl0bGVzX3F1ZXVlX2luc2VydChzdWJzLCBjb250ZW50LnN0ciwgY29udGVudC5sZW4sIDApOwor ICAgICAgICBwa3QgPSBmZl9zdWJ0aXRsZXNfcXVldWVfaW5zZXJ0X2JwcmludChzdWJzLCAmY29u dGVudCwgMCk7CiAgICAgICAgIGlmICghcGt0KSB7CiAgICAgICAgICAgICByZXQgPSBBVkVSUk9S KEVOT01FTSk7CiAgICAgICAgICAgICBnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9saWJhdmZvcm1h dC93ZWJ2dHRkZWMuYyBiL2xpYmF2Zm9ybWF0L3dlYnZ0dGRlYy5jCmluZGV4IDUyMzIwYmE3ZDEu LjBiMmZjNzcxNjggMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L3dlYnZ0dGRlYy5jCisrKyBiL2xp YmF2Zm9ybWF0L3dlYnZ0dGRlYy5jCkBAIC04MSw3ICs4MSw5IEBAIHN0YXRpYyBpbnQgd2VidnR0 X3JlYWRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICAgICAgc2l6ZV90IGlkZW50aWZp ZXJfbGVuLCBzZXR0aW5nc19sZW47CiAgICAgICAgIGludDY0X3QgdHNfc3RhcnQsIHRzX2VuZDsK IAotICAgICAgICBmZl9zdWJ0aXRsZXNfcmVhZF9jaHVuayhzLT5wYiwgJmN1ZSk7CisgICAgICAg IHJlcyA9IGZmX3N1YnRpdGxlc19yZWFkX2NodW5rKHMtPnBiLCAmY3VlKTsKKyAgICAgICAgaWYg KHJlcyA8IDApCisgICAgICAgICAgICBnb3RvIGVuZDsKIAogICAgICAgICBpZiAoIWN1ZS5sZW4p CiAgICAgICAgICAgICBicmVhazsKLS0gCjIuMzcuMSAoQXBwbGUgR2l0LTEzNy4xKQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1h aWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFp bG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFi b3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVj dCAidW5zdWJzY3JpYmUiLgo=