Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:4659 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 60478 invoked by uid 1010); 3 Oct 2003 00:32:27 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 60402 invoked from network); 3 Oct 2003 00:32:26 -0000 Received: from unknown (HELO vckyb1.nw.wakwak.com) (211.9.230.144) by pb1.pair.com with SMTP; 3 Oct 2003 00:32:26 -0000 Received: from at.wakwak.com (at.wakwak.com [211.9.230.135]) by vckyb1.nw.wakwak.com (Postfix) with ESMTP id 76DD93FE4E; Fri, 3 Oct 2003 09:32:25 +0900 (JST) Received: from at.wakwak.com (z97.218-225-153.ppp.wakwak.ne.jp [218.225.153.97]) by at.wakwak.com (8.12.10/8.12.10/2003-09-30) with SMTP/inet id h930WOfD079304; Fri, 3 Oct 2003 09:32:24 +0900 (JST) (envelope-from moriyoshi@at.wakwak.com) Date: Fri, 03 Oct 2003 09:32:24 +0900 X-Mailer: EdMax Ver2.85.3F MIME-Version: 1.0 To: php-internal Cc: , , Message-ID: <20031003093224_Bj1Z6@at.wakwak.com> Content-Type: multipart/mixed; boundary="------------Boundary_l:rTeoU_CeSUT7K" Subject: Fix for bug #25543 From: moriyoshi@at.wakwak.com (Moriyoshi Koizumi) --------------Boundary_l:rTeoU_CeSUT7K Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi, Attached is a fix for bug #25543 (Error in set_error_handler() definition), which is caused by disordered scheduling of the garbage collection (zend_clean_garbage()). With this patch I'm adding the following two inline functions, zend_begin_atomic() and zend_end_atomic(), to prevent GC from being performed at the right time. Calls to those functions are inserted at the beginning / end of zend_fetch_dimension_address(), zend_fetch_property_address(), and some other functions of the same kind. I'll commit these shortly if you don't see any problem. Regards, Moriyoshi --------------Boundary_l:rTeoU_CeSUT7K Content-Type: text/plain; name="bug25547_patch_4_3.diff.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bug25547_patch_4_3.diff.txt" SW5kZXg6IFplbmQvemVuZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5 L1plbmQvQXR0aWMvemVuZC5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE2Mi4yLjEzCmRp ZmYgLXUgLXIxLjE2Mi4yLjEzIHplbmQuYwotLS0gWmVuZC96ZW5kLmMJMjIgU2VwIDIwMDMg MDQ6MjI6MDYgLTAwMDAJMS4xNjIuMi4xMworKysgWmVuZC96ZW5kLmMJMyBPY3QgMjAwMyAw MDoxMzo0NyAtMDAwMApAQCAtNTAxLDYgKzUwMSw3IEBACiAJemVuZF9zdGFydHVwX2NvbnN0 YW50cygpOwogCXplbmRfc2V0X2RlZmF1bHRfY29tcGlsZV90aW1lX3ZhbHVlcyhUU1JNTFNf Qyk7CiAJRUcodXNlcl9lcnJvcl9oYW5kbGVyKSA9IE5VTEw7CisJRUcoYXRvbWljX29wX2Nv dW50KSA9IDA7CiAjZW5kaWYKIAl6ZW5kX3JlZ2lzdGVyX3N0YW5kYXJkX2NvbnN0YW50cyhU U1JNTFNfQyk7CiAKSW5kZXg6IFplbmQvemVuZF9leGVjdXRlLmMKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS Q1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZC9BdHRpYy96ZW5kX2V4ZWN1dGUuYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS4zMTYuMi4yMgpkaWZmIC11IC1yMS4zMTYuMi4yMiB6ZW5kX2V4 ZWN1dGUuYwotLS0gWmVuZC96ZW5kX2V4ZWN1dGUuYwkyOCBBdWcgMjAwMyAxNjowODoxMSAt MDAwMAkxLjMxNi4yLjIyCisrKyBaZW5kL3plbmRfZXhlY3V0ZS5jCTMgT2N0IDIwMDMgMDA6 MTM6NDggLTAwMDAKQEAgLTczOSw5ICs3MzksMTEgQEAKIAl6dmFsICpjb250YWluZXI7CiAJ enZhbCAqKipyZXR2YWwgPSAmVHNbcmVzdWx0LT51LnZhcl0udmFyLnB0cl9wdHI7CiAKKwl6 ZW5kX2JlZ2luX2F0b21pYyhUU1JNTFNfQyk7CiAKIAlpZiAoY29udGFpbmVyX3B0ciA9PSBO VUxMKSB7CiAJCWZldGNoX292ZXJsb2FkZWRfZWxlbWVudChyZXN1bHQsIG9wMSwgb3AyLCBU cywgdHlwZSwgcmV0dmFsLCBPRV9JU19BUlJBWSBUU1JNTFNfQ0MpOworCQl6ZW5kX2VuZF9h dG9taWMoVFNSTUxTX0MpOwogCQlyZXR1cm47CiAJfQogCkBAIC03NTAsNiArNzUyLDcgQEAK IAlpZiAoY29udGFpbmVyID09IEVHKGVycm9yX3p2YWxfcHRyKSkgewogCQkqcmV0dmFsID0g JkVHKGVycm9yX3p2YWxfcHRyKTsKIAkJU0VMRUNUSVZFX1BaVkFMX0xPQ0soKipyZXR2YWws IHJlc3VsdCk7CisJCXplbmRfZW5kX2F0b21pYyhUU1JNTFNfQyk7CiAJCXJldHVybjsKIAl9 CiAKQEAgLTgyNCw3ICs4MjcsNiBAQAogCQkJCVRzW3Jlc3VsdC0+dS52YXJdLkVBLnR5cGUg PSBJU19TVFJJTkdfT0ZGU0VUOwogCQkJCUZSRUVfT1AoVHMsIG9wMiwgRUcoZnJlZV9vcDIp KTsKIAkJCQkqcmV0dmFsID0gTlVMTDsKLQkJCQlyZXR1cm47CiAJCQl9CiAJCQlicmVhazsK IAkJZGVmYXVsdDogewpAQCAtODQ0LDYgKzg0Niw3IEBACiAJCQl9CiAJCQlicmVhazsKIAl9 CisJemVuZF9lbmRfYXRvbWljKFRTUk1MU19DKTsKIH0KIAogCkBAIC04NjksOSArODcyLDEx IEBACiAJenZhbCAqY29udGFpbmVyOwogCXp2YWwgKioqcmV0dmFsID0gJlRzW3Jlc3VsdC0+ dS52YXJdLnZhci5wdHJfcHRyOwogCisJemVuZF9iZWdpbl9hdG9taWMoVFNSTUxTX0MpOwog CiAJaWYgKGNvbnRhaW5lcl9wdHIgPT0gTlVMTCkgewogCQlmZXRjaF9vdmVybG9hZGVkX2Vs ZW1lbnQocmVzdWx0LCBvcDEsIG9wMiwgVHMsIHR5cGUsIHJldHZhbCwgT0VfSVNfT0JKRUNU IFRTUk1MU19DQyk7CisJCXplbmRfZW5kX2F0b21pYyhUU1JNTFNfQyk7CiAJCXJldHVybjsK IAl9CiAKQEAgLTg3OSw2ICs4ODQsNyBAQAogCWlmIChjb250YWluZXIgPT0gRUcoZXJyb3Jf enZhbF9wdHIpKSB7CiAJCSpyZXR2YWwgPSAmRUcoZXJyb3JfenZhbF9wdHIpOwogCQlTRUxF Q1RJVkVfUFpWQUxfTE9DSygqKnJldHZhbCwgcmVzdWx0KTsKKwkJemVuZF9lbmRfYXRvbWlj KFRTUk1MU19DKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtODk5LDYgKzkwNSw3IEBACiAJCXpl bmRfbGxpc3RfYWRkX2VsZW1lbnQoVHNbcmVzdWx0LT51LnZhcl0uRUEuZGF0YS5vdmVybG9h ZGVkX2VsZW1lbnQuZWxlbWVudHNfbGlzdCwgJm92ZXJsb2FkZWRfZWxlbWVudCk7CiAJCVRz W3Jlc3VsdC0+dS52YXJdLkVBLnR5cGUgPSBJU19PVkVSTE9BREVEX09CSkVDVDsKIAkJKnJl dHZhbCA9IE5VTEw7CisJCXplbmRfZW5kX2F0b21pYyhUU1JNTFNfQyk7CiAJCXJldHVybjsK IAl9CiAKQEAgLTkyOSw2ICs5MzYsNyBAQAogCQkJKnJldHZhbCA9ICZFRyhlcnJvcl96dmFs X3B0cik7CiAJCX0KIAkJU0VMRUNUSVZFX1BaVkFMX0xPQ0soKipyZXR2YWwsIHJlc3VsdCk7 CisJCXplbmRfZW5kX2F0b21pYyhUU1JNTFNfQyk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTkz OSw2ICs5NDcsNyBAQAogCX0KIAkqcmV0dmFsID0gemVuZF9mZXRjaF9wcm9wZXJ0eV9hZGRy ZXNzX2lubmVyKFpfT0JKUFJPUF9QKGNvbnRhaW5lciksIG9wMiwgVHMsIHR5cGUgVFNSTUxT X0NDKTsKIAlTRUxFQ1RJVkVfUFpWQUxfTE9DSygqKnJldHZhbCwgcmVzdWx0KTsKKwl6ZW5k X2VuZF9hdG9taWMoVFNSTUxTX0MpOwogfQogCiAKSW5kZXg6IFplbmQvemVuZF9leGVjdXRl LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZC9BdHRpYy96ZW5k X2V4ZWN1dGUuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40Ny4yLjEKZGlmZiAtdSAtcjEu NDcuMi4xIHplbmRfZXhlY3V0ZS5oCi0tLSBaZW5kL3plbmRfZXhlY3V0ZS5oCTMxIERlYyAy MDAyIDE2OjIzOjAwIC0wMDAwCTEuNDcuMi4xCisrKyBaZW5kL3plbmRfZXhlY3V0ZS5oCTMg T2N0IDIwMDMgMDA6MTM6NDggLTAwMDAKQEAgLTExMiw2ICsxMTIsMTUgQEAKIAogdm9pZCBl eGVjdXRlX25ld19jb2RlKFRTUk1MU19EKTsKIAorc3RhdGljIGlubGluZSB2b2lkIHplbmRf YmVnaW5fYXRvbWljKFRTUk1MU19EKQoreworCUVHKGF0b21pY19vcF9jb3VudCkrKzsKK30K Kworc3RhdGljIGlubGluZSB2b2lkIHplbmRfZW5kX2F0b21pYyhUU1JNTFNfRCkKK3sKKwlF RyhhdG9taWNfb3BfY291bnQpLS07Cit9CiAKIC8qIHNlcnZpY2VzICovCiBaRU5EX0FQSSBj aGFyICpnZXRfYWN0aXZlX2Z1bmN0aW9uX25hbWUoVFNSTUxTX0QpOwpJbmRleDogWmVuZC96 ZW5kX2V4ZWN1dGVfbG9ja3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3NpdG9y eS9aZW5kL0F0dGljL3plbmRfZXhlY3V0ZV9sb2Nrcy5oLHYKcmV0cmlldmluZyByZXZpc2lv biAxLjkKZGlmZiAtdSAtcjEuOSB6ZW5kX2V4ZWN1dGVfbG9ja3MuaAotLS0gWmVuZC96ZW5k X2V4ZWN1dGVfbG9ja3MuaAkzMSBBdWcgMjAwMSAxOTozMjoyNSAtMDAwMAkxLjkKKysrIFpl bmQvemVuZF9leGVjdXRlX2xvY2tzLmgJMyBPY3QgMjAwMyAwMDoxMzo0OCAtMDAwMApAQCAt MjIsOCArMjIsMTAgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHplbmRfY2xlYW5fZ2FyYmFn ZShUU1JNTFNfRCkKIHsKLQl3aGlsZSAoRUcoZ2FyYmFnZV9wdHIpKSB7Ci0JCXp2YWxfcHRy X2R0b3IoJkVHKGdhcmJhZ2UpWy0tRUcoZ2FyYmFnZV9wdHIpXSk7CisJaWYgKCFFRyhhdG9t aWNfb3BfY291bnQpKSB7CisJCXdoaWxlIChFRyhnYXJiYWdlX3B0cikpIHsKKwkJCXp2YWxf cHRyX2R0b3IoJkVHKGdhcmJhZ2UpWy0tRUcoZ2FyYmFnZV9wdHIpXSk7CisJCX0KIAl9CiB9 CiAKSW5kZXg6IFplbmQvemVuZF9nbG9iYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L3JlcG9zaXRvcnkvWmVuZC9BdHRpYy96ZW5kX2dsb2JhbHMuaCx2CnJldHJpZXZpbmcgcmV2 aXNpb24gMS45My4yLjQKZGlmZiAtdSAtcjEuOTMuMi40IHplbmRfZ2xvYmFscy5oCi0tLSBa ZW5kL3plbmRfZ2xvYmFscy5oCTMxIE1heSAyMDAzIDAxOjM3OjQzIC0wMDAwCTEuOTMuMi40 CisrKyBaZW5kL3plbmRfZ2xvYmFscy5oCTMgT2N0IDIwMDMgMDA6MTM6NDggLTAwMDAKQEAg LTIxMCw2ICsyMTAsOCBAQAogCS8qIGxvY2FsZSBzdHVmZiAqLwogCWNoYXIgZmxvYXRfc2Vw YXJhdG9yWzFdOwogCisJaW50IGF0b21pY19vcF9jb3VudDsKKwogCXZvaWQgKnJlc2VydmVk W1pFTkRfTUFYX1JFU0VSVkVEX1JFU09VUkNFU107CiB9OwogCi== --------------Boundary_l:rTeoU_CeSUT7K Content-Type: text/plain; name="bug25547_patch.diff.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="bug25547_patch.diff.txt" SW5kZXg6IFplbmQvemVuZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5 L1plbmRFbmdpbmUyL3plbmQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNTIKZGlmZiAt dSAtcjEuMjUyIHplbmQuYwotLS0gWmVuZC96ZW5kLmMJMjIgU2VwIDIwMDMgMDQ6MjE6NDQg LTAwMDAJMS4yNTIKKysrIFplbmQvemVuZC5jCTMgT2N0IDIwMDMgMDA6MTc6MzYgLTAwMDAK QEAgLTYxOCw2ICs2MTgsNyBAQAogCXplbmRfc2V0X2RlZmF1bHRfY29tcGlsZV90aW1lX3Zh bHVlcyhUU1JNTFNfQyk7CiAJRUcodXNlcl9lcnJvcl9oYW5kbGVyKSA9IE5VTEw7CiAJRUco dXNlcl9leGNlcHRpb25faGFuZGxlcikgPSBOVUxMOworCUVHKGF0b21pY19vcF9jb3VudCkg PSAwOwogI2VuZGlmCiAJcmVnaXN0ZXJfc3RhbmRhcmRfY2xhc3MoVFNSTUxTX0MpOwogCXpl bmRfcmVnaXN0ZXJfc3RhbmRhcmRfY29uc3RhbnRzKFRTUk1MU19DKTsKSW5kZXg6IFplbmQv emVuZF9leGVjdXRlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVu ZEVuZ2luZTIvemVuZF9leGVjdXRlLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTQwCmRp ZmYgLXUgLXIxLjU0MCB6ZW5kX2V4ZWN1dGUuYwotLS0gWmVuZC96ZW5kX2V4ZWN1dGUuYwkx NyBTZXAgMjAwMyAxMTowNjoxMSAtMDAwMAkxLjU0MAorKysgWmVuZC96ZW5kX2V4ZWN1dGUu YwkzIE9jdCAyMDAzIDAwOjE3OjM3IC0wMDAwCkBAIC03MSw4ICs3MSwxMCBAQAogCiBzdGF0 aWMgaW5saW5lIHZvaWQgemVuZF9jbGVhbl9nYXJiYWdlKFRTUk1MU19EKQogewotCXdoaWxl IChFRyhnYXJiYWdlX3B0cikpIHsKLQkJenZhbF9wdHJfZHRvcigmRUcoZ2FyYmFnZSlbLS1F RyhnYXJiYWdlX3B0cildKTsKKwlpZiAoIUVHKGF0b21pY19vcF9jb3VudCkpIHsKKwkJd2hp bGUgKEVHKGdhcmJhZ2VfcHRyKSkgeworCQkJenZhbF9wdHJfZHRvcigmRUcoZ2FyYmFnZSlb LS1FRyhnYXJiYWdlX3B0cildKTsKKwkJfQogCX0KIH0KIApAQCAtODI3LDYgKzgyOSw4IEBA CiAJenZhbCAqY29udGFpbmVyOwogCXp2YWwgKioqcmV0dmFsID0gJlQocmVzdWx0LT51LnZh cikudmFyLnB0cl9wdHI7CiAKKwl6ZW5kX2JlZ2luX2F0b21pYyhUU1JNTFNfQyk7CisKIAlp ZiAoIWNvbnRhaW5lcl9wdHIpIHsKIAkJaWYgKFQob3AxLT51LnZhcikuRUEudHlwZSA9PSBJ U19TVFJJTkdfT0ZGU0VUKSB7CiAJCQl6ZW5kX2Vycm9yKEVfV0FSTklORywgIkNhbm5vdCB1 c2Ugc3RyaW5nIG9mZnNldCBhcyBhbiBhcnJheSIpOwpAQCAtODM2LDYgKzg0MCw3IEBACiAJ CX0KIAkJKnJldHZhbCA9ICZFRyhlcnJvcl96dmFsX3B0cik7CiAJCVNFTEVDVElWRV9QWlZB TF9MT0NLKCoqcmV0dmFsLCByZXN1bHQpOworCQl6ZW5kX2VuZF9hdG9taWMoVFNSTUxTX0Mp OwogCQlyZXR1cm47CiAJfQogCQpAQCAtODQ0LDYgKzg0OSw3IEBACiAJaWYgKGNvbnRhaW5l ciA9PSBFRyhlcnJvcl96dmFsX3B0cikpIHsKIAkJKnJldHZhbCA9ICZFRyhlcnJvcl96dmFs X3B0cik7CiAJCVNFTEVDVElWRV9QWlZBTF9MT0NLKCoqcmV0dmFsLCByZXN1bHQpOworCQl6 ZW5kX2VuZF9hdG9taWMoVFNSTUxTX0MpOwogCQlyZXR1cm47CiAJfQogCkBAIC05MTgsNyAr OTI0LDYgQEAKIAkJCQlUKHJlc3VsdC0+dS52YXIpLkVBLnR5cGUgPSBJU19TVFJJTkdfT0ZG U0VUOwogCQkJCUZSRUVfT1AoVHMsIG9wMiwgRUcoZnJlZV9vcDIpKTsKIAkJCQkqcmV0dmFs ID0gTlVMTDsKLQkJCQlyZXR1cm47CiAJCQl9CiAJCQlicmVhazsKIAkJY2FzZSBJU19PQkpF Q1Q6CkBAIC05NTEsNiArOTU2LDcgQEAKIAkJCX0KIAkJCWJyZWFrOwogCX0KKwl6ZW5kX2Vu ZF9hdG9taWMoVFNSTUxTX0MpOwogfQogCiAKQEAgLTk3NCwxMSArOTgwLDE0IEBACiAJenZh bCAqKmNvbnRhaW5lcl9wdHIgPSBnZXRfb2JqX3p2YWxfcHRyX3B0cihvcDEsIFRzLCB0eXBl IFRTUk1MU19DQyk7CiAJenZhbCAqY29udGFpbmVyOwogCXp2YWwgKioqcmV0dmFsID0gJlQo cmVzdWx0LT51LnZhcikudmFyLnB0cl9wdHI7CisKKwl6ZW5kX2JlZ2luX2F0b21pYyhUU1JN TFNfQyk7CiAJCiAJY29udGFpbmVyID0gKmNvbnRhaW5lcl9wdHI7CiAJaWYgKGNvbnRhaW5l ciA9PSBFRyhlcnJvcl96dmFsX3B0cikpIHsKIAkJKnJldHZhbCA9ICZFRyhlcnJvcl96dmFs X3B0cik7CiAJCVNFTEVDVElWRV9QWlZBTF9MT0NLKCoqcmV0dmFsLCByZXN1bHQpOworCQl6 ZW5kX2VuZF9hdG9taWMoVFNSTUxTX0MpOwogCQlyZXR1cm47CiAJfQogCS8qIHRoaXMgc2hv dWxkIG1vZGlmeSBvYmplY3Qgb25seSBpZiBpdCdzIGVtcHR5ICovCkBAIC0xMDA2LDYgKzEw MTUsNyBAQAogCQkJKnJldHZhbCA9ICZFRyhlcnJvcl96dmFsX3B0cik7CiAJCX0KIAkJU0VM RUNUSVZFX1BaVkFMX0xPQ0soKipyZXR2YWwsIHJlc3VsdCk7CisJCXplbmRfZW5kX2F0b21p YyhUU1JNTFNfQyk7CiAJCXJldHVybjsKIAl9CiAJCkBAIC0xMDE2LDYgKzEwMjYsNyBAQAog CX0KIAkqcmV0dmFsID0gemVuZF9mZXRjaF9wcm9wZXJ0eV9hZGRyZXNzX2lubmVyKGNvbnRh aW5lciwgb3AyLCBUcywgdHlwZSBUU1JNTFNfQ0MpOwogCVNFTEVDVElWRV9QWlZBTF9MT0NL KCoqcmV0dmFsLCByZXN1bHQpOworCXplbmRfZW5kX2F0b21pYyhUU1JNTFNfQyk7CiB9CiAK IHN0YXRpYyB2b2lkIHplbmRfZmV0Y2hfcHJvcGVydHlfYWRkcmVzc19yZWFkKHpub2RlICpy ZXN1bHQsIHpub2RlICpvcDEsIHpub2RlICpvcDIsIHRlbXBfdmFyaWFibGUgKlRzLCBpbnQg dHlwZSBUU1JNTFNfREMpCkBAIC0xMDI2LDE0ICsxMDM3LDE2IEBACiAJcmV0dmFsID0gJlQo cmVzdWx0LT51LnZhcikudmFyLnB0cjsKIAlUKHJlc3VsdC0+dS52YXIpLnZhci5wdHJfcHRy ID0gcmV0dmFsOwogCisJemVuZF9iZWdpbl9hdG9taWMoVFNSTUxTX0MpOworCiAJY29udGFp bmVyID0gZ2V0X29ial96dmFsX3B0cihvcDEsIFRzLCAmRUcoZnJlZV9vcDEpLCB0eXBlIFRT Uk1MU19DQyk7CiAKIAlpZiAoY29udGFpbmVyID09IEVHKGVycm9yX3p2YWxfcHRyKSkgewog CQkqcmV0dmFsID0gRUcoZXJyb3JfenZhbF9wdHIpOwogCQlTRUxFQ1RJVkVfUFpWQUxfTE9D SygqcmV0dmFsLCByZXN1bHQpOworCQl6ZW5kX2VuZF9hdG9taWMoVFNSTUxTX0MpOwogCQly ZXR1cm47CiAJfQotCiAJCiAJaWYgKGNvbnRhaW5lci0+dHlwZSAhPSBJU19PQkpFQ1QpIHsK IAkJemVuZF9lcnJvcihFX05PVElDRSwgIlRyeWluZyB0byBnZXQgcHJvcGVydHkgb2Ygbm9u LW9iamVjdCIpOwpAQCAtMTA3Miw3ICsxMDg1LDcgQEAKIAl9CiAJCiAJU0VMRUNUSVZFX1Ba VkFMX0xPQ0soKnJldHZhbCwgcmVzdWx0KTsKLQlyZXR1cm47CisJemVuZF9lbmRfYXRvbWlj KFRTUk1MU19DKTsKIH0KIAogc3RhdGljIHZvaWQgemVuZF9wcmVfaW5jZGVjX3Byb3BlcnR5 KHpub2RlICpyZXN1bHQsIHpub2RlICpvcDEsIHpub2RlICpvcDIsIHRlbXBfdmFyaWFibGUg KiBUcywgaW50ICgqaW5jZGVjX29wKSh6dmFsICopIFRTUk1MU19EQykKQEAgLTEwODMsNiAr MTA5Niw4IEBACiAJenZhbCAqKnJldHZhbCA9ICZUKHJlc3VsdC0+dS52YXIpLnZhci5wdHI7 CiAJaW50IGhhdmVfZ2V0X3B0ciA9IDA7CiAKKwl6ZW5kX2JlZ2luX2F0b21pYyhUU1JNTFNf Qyk7CisKIAltYWtlX3JlYWxfb2JqZWN0KG9iamVjdF9wdHIgVFNSTUxTX0NDKTsgLyogdGhp cyBzaG91bGQgbW9kaWZ5IG9iamVjdCBvbmx5IGlmIGl0J3MgZW1wdHkgKi8KIAlvYmplY3Qg PSAqb2JqZWN0X3B0cjsKIAkKQEAgLTEwOTIsNiArMTEwNyw3IEBACiAJCSpyZXR2YWwgPSBF Ryh1bmluaXRpYWxpemVkX3p2YWxfcHRyKTsKIAogCQlTRUxFQ1RJVkVfUFpWQUxfTE9DSygq cmV0dmFsLCByZXN1bHQpOworCQl6ZW5kX2VuZF9hdG9taWMoVFNSTUxTX0MpOwogCQlyZXR1 cm47CiAJfQogCQpAQCAtMTEyMCw2ICsxMTM2LDcgQEAKIAl9CiAJCiAJRlJFRV9PUChUcywg b3AyLCBFRyhmcmVlX29wMikpOworCXplbmRfZW5kX2F0b21pYyhUU1JNTFNfQyk7CiB9CiAK IHN0YXRpYyB2b2lkIHplbmRfcG9zdF9pbmNkZWNfcHJvcGVydHkoem5vZGUgKnJlc3VsdCwg em5vZGUgKm9wMSwgem5vZGUgKm9wMiwgdGVtcF92YXJpYWJsZSAqIFRzLCBpbnQgKCppbmNk ZWNfb3ApKHp2YWwgKikgVFNSTUxTX0RDKQpAQCAtMTEzMCw2ICsxMTQ3LDggQEAKIAl6dmFs ICpyZXR2YWwgPSAmVChyZXN1bHQtPnUudmFyKS50bXBfdmFyOwogCWludCBoYXZlX2dldF9w dHIgPSAwOwogCisJemVuZF9iZWdpbl9hdG9taWMoVFNSTUxTX0MpOworCiAJbWFrZV9yZWFs X29iamVjdChvYmplY3RfcHRyIFRTUk1MU19DQyk7IC8qIHRoaXMgc2hvdWxkIG1vZGlmeSBv YmplY3Qgb25seSBpZiBpdCdzIGVtcHR5ICovCiAJb2JqZWN0ID0gKm9iamVjdF9wdHI7CiAJ CkBAIC0xMTM3LDYgKzExNTYsNyBAQAogCQl6ZW5kX2Vycm9yKEVfV0FSTklORywgIkF0dGVt cHQgdG8gaW5jcmVtZW50L2RlY3JlbWVudCBwcm9wZXJ0eSBvZiBub24tb2JqZWN0Iik7CiAJ CUZSRUVfT1AoVHMsIG9wMiwgRUcoZnJlZV9vcDIpKTsKIAkJKnJldHZhbCA9ICpFRyh1bmlu aXRpYWxpemVkX3p2YWxfcHRyKTsKKwkJemVuZF9lbmRfYXRvbWljKFRTUk1MU19DKTsKIAkJ cmV0dXJuOwogCX0KIAkKQEAgLTExNjksNiArMTE4OSw3IEBACiAJfQogCQogCUZSRUVfT1Ao VHMsIG9wMiwgRUcoZnJlZV9vcDIpKTsKKwl6ZW5kX2VuZF9hdG9taWMoVFNSTUxTX0MpOwog fQogCiAKSW5kZXg6IFplbmQvemVuZF9leGVjdXRlLmgKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls ZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9leGVjdXRlLmgsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuNTgKZGlmZiAtdSAtcjEuNTggemVuZF9leGVjdXRlLmgKLS0tIFplbmQv emVuZF9leGVjdXRlLmgJMjQgQXVnIDIwMDMgMTM6MTA6MDIgLTAwMDAJMS41OAorKysgWmVu ZC96ZW5kX2V4ZWN1dGUuaAkzIE9jdCAyMDAzIDAwOjE3OjM3IC0wMDAwCkBAIC0xMzgsNiAr MTM4LDE1IEBACiAKIHZvaWQgZXhlY3V0ZV9uZXdfY29kZShUU1JNTFNfRCk7CiAKK3N0YXRp YyBpbmxpbmUgdm9pZCB6ZW5kX2JlZ2luX2F0b21pYyhUU1JNTFNfRCkKK3sKKwlFRyhhdG9t aWNfb3BfY291bnQpKys7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB6ZW5kX2VuZF9hdG9t aWMoVFNSTUxTX0QpCit7CisJRUcoYXRvbWljX29wX2NvdW50KS0tOworfQogCiAvKiBzZXJ2 aWNlcyAqLwogWkVORF9BUEkgY2hhciAqZ2V0X2FjdGl2ZV9mdW5jdGlvbl9uYW1lKFRTUk1M U19EKTsKSW5kZXg6IFplbmQvemVuZF9nbG9iYWxzLmgKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls ZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9nbG9iYWxzLmgsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMTI4CmRpZmYgLXUgLXIxLjEyOCB6ZW5kX2dsb2JhbHMuaAotLS0gWmVu ZC96ZW5kX2dsb2JhbHMuaAkxMSBBdWcgMjAwMyAwNToyNDo0MSAtMDAwMAkxLjEyOAorKysg WmVuZC96ZW5kX2dsb2JhbHMuaAkzIE9jdCAyMDAzIDAwOjE3OjM4IC0wMDAwCkBAIC0yMzQs NiArMjM0LDggQEAKIAkvKiBsb2NhbGUgc3R1ZmYgKi8KIAljaGFyIGZsb2F0X3NlcGFyYXRv clsxXTsKIAorCWludCBhdG9taWNfb3BfY291bnQ7CisKIAl2b2lkICpyZXNlcnZlZFtaRU5E X01BWF9SRVNFUlZFRF9SRVNPVVJDRVNdOwogfTsKIAp= --------------Boundary_l:rTeoU_CeSUT7K--