Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:42620 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 65510 invoked from network); 14 Jan 2009 17:16:32 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Jan 2009 17:16:32 -0000 Authentication-Results: pb1.pair.com smtp.mail=typoon@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=typoon@gmail.com; sender-id=pass; domainkeys=bad Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.46.28 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: typoon@gmail.com X-Host-Fingerprint: 74.125.46.28 yw-out-2324.google.com Received: from [74.125.46.28] ([74.125.46.28:13134] helo=yw-out-2324.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 61/DA-14662-FED1E694 for ; Wed, 14 Jan 2009 12:16:32 -0500 Received: by yw-out-2324.google.com with SMTP id 5so259125ywb.83 for ; Wed, 14 Jan 2009 09:16:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=Ta8r/Yyf+HPcEoHrI6wc5LoZTKPWL3FQSBvrY1szchw=; b=LFUA9Spjg34/wFhPr5OcLpiHFqg3D/+AalnZY4MXSNOzBQeyjf18JTMAf66zb1HfuJ 9qSnk96LxSnhtSeCUTQHybOjGaufnbWtj8CzCdY+0W/EDZh4BKHqHn90/eX5nHB6qULb sGWbO7im3kPBAFQ8NNm6SAPThKK6MkmXlyPfM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=TT6Ba3OCBNRg94VrYyXU0fSsA7iqTdpGHxoTebVmE4vGQFoT9JBzm/Nqt8wQYoSwgw 6MoQgZ+4c5JJE4VSBoaGHJNdRB3xEPaDqdacAJP1/Dppvpml0OTq5lpL4xeHfeBtPivy mlBiW0F2c7DKiDGlJ4pQcbc3gzNnIDFXozwMw= Received: by 10.100.178.9 with SMTP id a9mr338886anf.59.1231953388716; Wed, 14 Jan 2009 09:16:28 -0800 (PST) Received: by 10.100.123.1 with HTTP; Wed, 14 Jan 2009 09:16:28 -0800 (PST) Message-ID: Date: Wed, 14 Jan 2009 11:16:28 -0600 To: internals@lists.php.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_4534_23565318.1231953388706" Subject: [PATCH] Bug 47002 - Fields truncated From: typoon@gmail.com ("Henrique M. Decaria") ------=_Part_4534_23565318.1231953388706 Content-Type: multipart/alternative; boundary="----=_Part_4535_8206282.1231953388706" ------=_Part_4535_8206282.1231953388706 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Greetings PHP people, I have written a patch to resolve the issue mentioned in the subject. Also I wrote a small test case for it. This patch is to be applied on PHP5_2 CVS. Still in this matter, I have written a patch for dbase.c (this was based on Felipe's patch which seems to have been lost) to use zend_parse_parameters and also to check for the PHP version to define if the arginfo should receive a static identifier or not. The patches are attached, and so is the test case. These files can also be found in the following URLs: Patch for the bug: http://felipe.ath.cx/typoon/dbase_php5.2.9_bug47002.diff Patch for dbase.c: http://felipe.ath.cx/typoon/dbase_php5.2.9.diff Test case for the bug: http://felipe.ath.cx/typoon/bug47002.phpt Currently I am also working on getting the dbase fixed in the PECL repositories so we can have a release (just finishing writing some test cases). In case there are any doubts or problems, please let me know so I can verify. BTW, I am Gilgamesh on #php.pecl (sometimes shows up as typoon because of problems with mibbit). So you can also contact me there :) Thanks! Henrique ------=_Part_4535_8206282.1231953388706 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Greetings PHP people,

I have written a patch to resolve the issue mentioned in the subject. Also I wrote a small test case for it. This patch is to be applied on PHP5_2 CVS.
Still in this matter, I have written a patch for dbase.c (this was based on Felipe's patch which seems to have been lost) to use zend_parse_parameters and also to check for the PHP version to define if the arginfo should receive a static identifier or not.
The patches are attached, and so is the test case.
These files can also be found in the following URLs:

Patch for the bug: http://felipe.ath.cx/typoon/dbase_php5.2.9_bug47002.diff
Patch for dbase.c: http://felipe.ath.cx/typoon/dbase_php5.2.9.diff
Test case for the bug: http://felipe.ath.cx/typoon/bug47002.phpt

Currently I am also working on getting the dbase fixed in the PECL repositories so we can have a release (just finishing writing some test cases).

In case there are any doubts or problems, please let me know so I can verify.

BTW, I am Gilgamesh on #php.pecl (sometimes shows up as typoon because of problems with mibbit). So you can also contact me there :)

Thanks!

Henrique
------=_Part_4535_8206282.1231953388706-- ------=_Part_4534_23565318.1231953388706 Content-Type: text/plain; name=dbase_php5.2.9.diff.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fpy8n49x0 Content-Disposition: attachment; filename=dbase_php5.2.9.diff.txt SW5kZXg6IGV4dC9kYmFzZS9kYmFzZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5 L3BocC1zcmMvZXh0L2RiYXNlL0F0dGljL2RiYXNlLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu NzQuMi4yLjIuMTEKZGlmZiAtdSAtdSAtdyAtYiAtcjEuNzQuMi4yLjIuMTEgZGJhc2UuYwotLS0g ZXh0L2RiYXNlL2RiYXNlLmMJMzEgRGVjIDIwMDggMTE6MTc6MzYgLTAwMDAJMS43NC4yLjIuMi4x MQorKysgZXh0L2RiYXNlL2RiYXNlLmMJMTQgSmFuIDIwMDkgMTY6NDk6MjEgLTAwMDAKQEAgLTU3 LDYgKzU3LDEyIEBACiAjZGVmaW5lIERCYXNlX1RMU19WQVJTCiAjZW5kaWYKIAorI2lmIChQSFBf TUFKT1JfVkVSU0lPTiA9PSA1KSAmJiAoUEhQX01JTk9SX1ZFUlNJT04gPj0gMykgfHwgUEhQX01B Sk9SX1ZFUlNJT04gPiA1CisjZGVmaW5lIFNUQVRJQ19BUkdJTkZPCisjZWxzZQorI2RlZmluZSBT VEFUSUNfQVJHSU5GTyAgc3RhdGljCisjZW5kaWYKKwogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5j bHVkZSA8ZXJybm8uaD4KIApAQCAtMTE4LDQxICsxMjQsNDIgQEAKICAgIE9wZW5zIGEgZEJhc2Ut Zm9ybWF0IGRhdGFiYXNlIGZpbGUgKi8KIFBIUF9GVU5DVElPTihkYmFzZV9vcGVuKQogewotCXp2 YWwgKipkYmZfbmFtZSwgKipvcHRpb25zOworCWNoYXIgKmRiZl9uYW1lOworCWludCBkYmZfbmFt ZV9sZW47CisJbG9uZyBvcHRpb25zOworCiAJZGJoZWFkX3QgKmRiaDsKIAlpbnQgaGFuZGxlOwog CURCYXNlX1RMU19WQVJTOwogCi0JaWYgKFpFTkRfTlVNX0FSR1MoKSAhPSAyIHx8IHplbmRfZ2V0 X3BhcmFtZXRlcnNfZXgoMiwgJmRiZl9uYW1lLCAmb3B0aW9ucykgPT0gRkFJTFVSRSkgewotCQlX Uk9OR19QQVJBTV9DT1VOVDsKKwlpZiAoemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FS R1MoKSBUU1JNTFNfQ0MsICJzbCIsICZkYmZfbmFtZSwgJmRiZl9uYW1lX2xlbiwgJm9wdGlvbnMp ID09IEZBSUxVUkUpIHsKKwkJcmV0dXJuOwogCX0KLQljb252ZXJ0X3RvX3N0cmluZ19leChkYmZf bmFtZSk7Ci0JY29udmVydF90b19sb25nX2V4KG9wdGlvbnMpOwogCi0JaWYgKCFaX1NUUkxFTl9Q UChkYmZfbmFtZSkpIHsKKwlpZiAoIXN0cmxlbihkYmZfbmFtZSkpIHsKIAkJcGhwX2Vycm9yX2Rv Y3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAiVGhlIGZpbGVuYW1lIGNhbm5vdCBiZSBl bXB0eS4iKTsKIAkJUkVUVVJOX0ZBTFNFOwogCX0KIAotCWlmIChaX0xWQUxfUFAob3B0aW9ucykg PT0gMSkgewotCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJD YW5ub3Qgb3BlbiAlcyBpbiB3cml0ZS1vbmx5IG1vZGUiLCBaX1NUUlZBTF9QUChkYmZfbmFtZSkp OworCWlmIChvcHRpb25zID09IDEpIHsKKwkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19D QywgRV9XQVJOSU5HLCAiQ2Fubm90IG9wZW4gJXMgaW4gd3JpdGUtb25seSBtb2RlIiwgZGJmX25h bWUpOwogCQlSRVRVUk5fRkFMU0U7Ci0JfSBlbHNlIGlmIChaX0xWQUxfUFAob3B0aW9ucykgPCAw IHx8IFpfTFZBTF9QUChvcHRpb25zKSA+IDMpIHsKLQkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRT Uk1MU19DQywgRV9XQVJOSU5HLCAiSW52YWxpZCBhY2Nlc3MgbW9kZSAlbGQiLCBaX0xWQUxfUFAo b3B0aW9ucykpOworCX0gZWxzZSBpZiAob3B0aW9ucyA8IDAgfHwgb3B0aW9ucyA+IDMpIHsKKwkJ cGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAiSW52YWxpZCBhY2Nl c3MgbW9kZSAlbGQiLCBvcHRpb25zKTsKIAkJUkVUVVJOX0ZBTFNFOwogCX0KIAotCWlmIChQRyhz YWZlX21vZGUpICYmICghcGhwX2NoZWNrdWlkKFpfU1RSVkFMX1BQKGRiZl9uYW1lKSwgTlVMTCwg Q0hFQ0tVSURfQ0hFQ0tfRklMRV9BTkRfRElSKSkpIHsKKwlpZiAoUEcoc2FmZV9tb2RlKSAmJiAo IXBocF9jaGVja3VpZChkYmZfbmFtZSwgTlVMTCwgQ0hFQ0tVSURfQ0hFQ0tfRklMRV9BTkRfRElS KSkpIHsKIAkJUkVUVVJOX0ZBTFNFOwogCX0KIAkKLQlpZiAocGhwX2NoZWNrX29wZW5fYmFzZWRp cihaX1NUUlZBTF9QUChkYmZfbmFtZSkgVFNSTUxTX0NDKSkgeworCWlmIChwaHBfY2hlY2tfb3Bl bl9iYXNlZGlyKGRiZl9uYW1lIFRTUk1MU19DQykpIHsKIAkJUkVUVVJOX0ZBTFNFOwogCX0KIAot CWRiaCA9IGRiZl9vcGVuKFpfU1RSVkFMX1BQKGRiZl9uYW1lKSwgWl9MVkFMX1BQKG9wdGlvbnMp IFRTUk1MU19DQyk7CisJZGJoID0gZGJmX29wZW4oZGJmX25hbWUsIG9wdGlvbnMgVFNSTUxTX0ND KTsKIAlpZiAoZGJoID09IE5VTEwpIHsKLQkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19D QywgRV9XQVJOSU5HLCAidW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UgJXMiLCBaX1NUUlZBTF9QUChk YmZfbmFtZSkpOworCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcs ICJ1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSAlcyIsIGRiZl9uYW1lKTsKIAkJUkVUVVJOX0ZBTFNF OwogCX0KIApAQCAtMTY1LDIyICsxNzIsMjIgQEAKICAgIENsb3NlcyBhbiBvcGVuIGRCYXNlLWZv cm1hdCBkYXRhYmFzZSBmaWxlICovCiBQSFBfRlVOQ1RJT04oZGJhc2VfY2xvc2UpCiB7Ci0JenZh bCAqKmRiaF9pZDsKKwlsb25nIGRiaF9pZDsKIAlkYmhlYWRfdCAqZGJoOwogCWludCBkYmhfdHlw ZTsKIAlEQmFzZV9UTFNfVkFSUzsKIAotCWlmIChaRU5EX05VTV9BUkdTKCkgIT0gMSB8fCAoemVu ZF9nZXRfcGFyYW1ldGVyc19leCgxLCAmZGJoX2lkKSA9PSBGQUlMVVJFKSkgewotCQlXUk9OR19Q QVJBTV9DT1VOVDsKKwlpZiAoemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1MoKSBU U1JNTFNfQ0MsICJsIiwgJmRiaF9pZCkgPT0gRkFJTFVSRSkgeworCQlyZXR1cm47CiAJfQotCWNv bnZlcnRfdG9fbG9uZ19leChkYmhfaWQpOwotCWRiaCA9IHplbmRfbGlzdF9maW5kKFpfTFZBTF9Q UChkYmhfaWQpLCAmZGJoX3R5cGUpOworCQorCWRiaCA9IHplbmRfbGlzdF9maW5kKGRiaF9pZCwg JmRiaF90eXBlKTsKIAlpZiAoIWRiaCB8fCBkYmhfdHlwZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJo ZWFkKSkgewotCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJV bmFibGUgdG8gZmluZCBkYXRhYmFzZSBmb3IgaWRlbnRpZmllciAlbGQiLCBaX0xWQUxfUFAoZGJo X2lkKSk7CisJCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIlVu YWJsZSB0byBmaW5kIGRhdGFiYXNlIGZvciBpZGVudGlmaWVyICVsZCIsIGRiaF9pZCk7CiAJCVJF VFVSTl9GQUxTRTsKIAl9CiAKLQl6ZW5kX2xpc3RfZGVsZXRlKFpfTFZBTF9QUChkYmhfaWQpKTsK Kwl6ZW5kX2xpc3RfZGVsZXRlKGRiaF9pZCk7CiAJUkVUVVJOX1RSVUU7CiB9CiAvKiB9fX0gKi8K QEAgLTE4OSwxOCArMTk2LDE4IEBACiAgICBSZXR1cm5zIHRoZSBudW1iZXIgb2YgcmVjb3JkcyBp biB0aGUgZGF0YWJhc2UgKi8KIFBIUF9GVU5DVElPTihkYmFzZV9udW1yZWNvcmRzKQogewotCXp2 YWwgKipkYmhfaWQ7CisJbG9uZyBkYmhfaWQ7CiAJZGJoZWFkX3QgKmRiaDsKIAlpbnQgZGJoX3R5 cGU7CiAJREJhc2VfVExTX1ZBUlM7CiAKLQlpZiAoWkVORF9OVU1fQVJHUygpICE9IDEgfHwgKHpl bmRfZ2V0X3BhcmFtZXRlcnNfZXgoMSwgJmRiaF9pZCkgPT0gRkFJTFVSRSkpIHsKLQkJV1JPTkdf UEFSQU1fQ09VTlQ7CisJaWYgKHplbmRfcGFyc2VfcGFyYW1ldGVycyhaRU5EX05VTV9BUkdTKCkg VFNSTUxTX0NDLCAibCIsICZkYmhfaWQpID09IEZBSUxVUkUpIHsKKwkJcmV0dXJuOwogCX0KLQlj b252ZXJ0X3RvX2xvbmdfZXgoZGJoX2lkKTsKLQlkYmggPSB6ZW5kX2xpc3RfZmluZChaX0xWQUxf UFAoZGJoX2lkKSwgJmRiaF90eXBlKTsKKworCWRiaCA9IHplbmRfbGlzdF9maW5kKGRiaF9pZCwg JmRiaF90eXBlKTsKIAlpZiAoIWRiaCB8fCBkYmhfdHlwZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJo ZWFkKSkgewotCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJV bmFibGUgdG8gZmluZCBkYXRhYmFzZSBmb3IgaWRlbnRpZmllciAlbGQiLCBaX0xWQUxfUFAoZGJo X2lkKSk7CisJCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIlVu YWJsZSB0byBmaW5kIGRhdGFiYXNlIGZvciBpZGVudGlmaWVyICVsZCIsIGRiaF9pZCk7CiAJCVJF VFVSTl9GQUxTRTsKIAl9CiAKQEAgLTIxMiwxOCArMjE5LDE4IEBACiAgICBSZXR1cm5zIHRoZSBu dW1iZXIgb2YgZmllbGRzIChjb2x1bW5zKSBpbiB0aGUgZGF0YWJhc2UgKi8KIFBIUF9GVU5DVElP TihkYmFzZV9udW1maWVsZHMpCiB7Ci0JenZhbCAqKmRiaF9pZDsKKwlsb25nIGRiaF9pZDsKIAlk YmhlYWRfdCAqZGJoOwogCWludCBkYmhfdHlwZTsKIAlEQmFzZV9UTFNfVkFSUzsKIAotCWlmICha RU5EX05VTV9BUkdTKCkgIT0gMSB8fCB6ZW5kX2dldF9wYXJhbWV0ZXJzX2V4KDEsICZkYmhfaWQp ID09IEZBSUxVUkUpIHsKLQkJV1JPTkdfUEFSQU1fQ09VTlQ7CisJaWYgKHplbmRfcGFyc2VfcGFy YW1ldGVycyhaRU5EX05VTV9BUkdTKCkgVFNSTUxTX0NDLCAibCIsICZkYmhfaWQpID09IEZBSUxV UkUpIHsKKwkJcmV0dXJuOwogCX0KLQljb252ZXJ0X3RvX2xvbmdfZXgoZGJoX2lkKTsKLQlkYmgg PSB6ZW5kX2xpc3RfZmluZChaX0xWQUxfUFAoZGJoX2lkKSwgJmRiaF90eXBlKTsKKworCWRiaCA9 IHplbmRfbGlzdF9maW5kKGRiaF9pZCwgJmRiaF90eXBlKTsKIAlpZiAoIWRiaCB8fCBkYmhfdHlw ZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJoZWFkKSkgewotCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwg VFNSTUxTX0NDLCBFX1dBUk5JTkcsICJVbmFibGUgdG8gZmluZCBkYXRhYmFzZSBmb3IgaWRlbnRp ZmllciAlbGQiLCBaX0xWQUxfUFAoZGJoX2lkKSk7CisJCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBU U1JNTFNfQ0MsIEVfV0FSTklORywgIlVuYWJsZSB0byBmaW5kIGRhdGFiYXNlIGZvciBpZGVudGlm aWVyICVsZCIsIGRiaF9pZCk7CiAJCVJFVFVSTl9GQUxTRTsKIAl9CiAKQEAgLTIzNSwxOCArMjQy LDE4IEBACiAgICBQYWNrcyB0aGUgZGF0YWJhc2UgKGRlbGV0ZXMgcmVjb3JkcyBtYXJrZWQgZm9y IGRlbGV0aW9uKSAqLwogUEhQX0ZVTkNUSU9OKGRiYXNlX3BhY2spCiB7Ci0JenZhbCAqKmRiaF9p ZDsKKwlsb25nIGRiaF9pZDsKIAlkYmhlYWRfdCAqZGJoOwogCWludCBkYmhfdHlwZTsKIAlEQmFz ZV9UTFNfVkFSUzsKIAotCWlmIChaRU5EX05VTV9BUkdTKCkgIT0gMSB8fCB6ZW5kX2dldF9wYXJh bWV0ZXJzX2V4KDEsICZkYmhfaWQpID09IEZBSUxVUkUpIHsKLQkJV1JPTkdfUEFSQU1fQ09VTlQ7 CisJaWYgKHplbmRfcGFyc2VfcGFyYW1ldGVycyhaRU5EX05VTV9BUkdTKCkgVFNSTUxTX0NDLCAi bCIsICZkYmhfaWQpID09IEZBSUxVUkUpIHsKKwkJcmV0dXJuOwogCX0KLQljb252ZXJ0X3RvX2xv bmdfZXgoZGJoX2lkKTsKLQlkYmggPSB6ZW5kX2xpc3RfZmluZChaX0xWQUxfUFAoZGJoX2lkKSwg JmRiaF90eXBlKTsKKworCWRiaCA9IHplbmRfbGlzdF9maW5kKGRiaF9pZCwgJmRiaF90eXBlKTsK IAlpZiAoIWRiaCB8fCBkYmhfdHlwZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJoZWFkKSkgewotCQlw aHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJVbmFibGUgdG8gZmlu ZCBkYXRhYmFzZSBmb3IgaWRlbnRpZmllciAlbGQiLCBaX0xWQUxfUFAoZGJoX2lkKSk7CisJCXBo cF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIlVuYWJsZSB0byBmaW5k IGRhdGFiYXNlIGZvciBpZGVudGlmaWVyICVsZCIsIGRiaF9pZCk7CiAJCVJFVFVSTl9GQUxTRTsK IAl9CiAKQEAgLTI2MCw3ICsyNjcsOCBAQAogICAgQWRkcyBhIHJlY29yZCB0byB0aGUgZGF0YWJh c2UgKi8KIFBIUF9GVU5DVElPTihkYmFzZV9hZGRfcmVjb3JkKQogewotCXp2YWwgKipkYmhfaWQs ICoqZmllbGRzLCAqKmZpZWxkOworCWxvbmcgZGJoX2lkOworCXp2YWwgKmZpZWxkcywgKipmaWVs ZDsKIAlkYmhlYWRfdCAqZGJoOwogCWludCBkYmhfdHlwZTsKIApAQCAtMjcwLDIyICsyNzgsMTgg QEAKIAlpbnQgaTsKIAlEQmFzZV9UTFNfVkFSUzsKIAotCWlmIChaRU5EX05VTV9BUkdTKCkgIT0g MiB8fCB6ZW5kX2dldF9wYXJhbWV0ZXJzX2V4KDIsICZkYmhfaWQsICZmaWVsZHMpID09IEZBSUxV UkUpIHsKLQkJV1JPTkdfUEFSQU1fQ09VTlQ7Ci0JfQotCWNvbnZlcnRfdG9fbG9uZ19leChkYmhf aWQpOwotCWlmIChaX1RZUEVfUFAoZmllbGRzKSAhPSBJU19BUlJBWSkgewotCQlwaHBfZXJyb3Jf ZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJFeHBlY3RlZCBhcnJheSBhcyBzZWNv bmQgcGFyYW1ldGVyIik7Ci0JCVJFVFVSTl9GQUxTRTsKKwlpZiAoemVuZF9wYXJzZV9wYXJhbWV0 ZXJzKFpFTkRfTlVNX0FSR1MoKSBUU1JNTFNfQ0MsICJsYSIsICZkYmhfaWQsICZmaWVsZHMpID09 IEZBSUxVUkUpIHsKKwkJcmV0dXJuOwogCX0KIAotCWRiaCA9IHplbmRfbGlzdF9maW5kKFpfTFZB TF9QUChkYmhfaWQpLCAmZGJoX3R5cGUpOworCisJZGJoID0gemVuZF9saXN0X2ZpbmQoZGJoX2lk LCAmZGJoX3R5cGUpOwogCWlmICghZGJoIHx8IGRiaF90eXBlICE9IERCYXNlX0dMT0JBTChsZV9k YmhlYWQpKSB7Ci0JCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywg IlVuYWJsZSB0byBmaW5kIGRhdGFiYXNlIGZvciBpZGVudGlmaWVyICVsZCIsIFpfTFZBTF9QUChk YmhfaWQpKTsKKwkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAi VW5hYmxlIHRvIGZpbmQgZGF0YWJhc2UgZm9yIGlkZW50aWZpZXIgJWxkIiwgZGJoX2lkKTsKIAkJ UkVUVVJOX0ZBTFNFOwogCX0KIAotCW51bV9maWVsZHMgPSB6ZW5kX2hhc2hfbnVtX2VsZW1lbnRz KFpfQVJSVkFMX1BQKGZpZWxkcykpOworCW51bV9maWVsZHMgPSB6ZW5kX2hhc2hfbnVtX2VsZW1l bnRzKFpfQVJSVkFMX1AoZmllbGRzKSk7CiAKIAlpZiAobnVtX2ZpZWxkcyAhPSBkYmgtPmRiX25m aWVsZHMpIHsKIAkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAi V3JvbmcgbnVtYmVyIG9mIGZpZWxkcyBzcGVjaWZpZWQiKTsKQEAgLTI5OCw3ICszMDIsNyBAQAog CWRiZiA9IGRiaC0+ZGJfZmllbGRzOwogCWZvciAoaSA9IDAsIGN1cl9mID0gZGJmOyBjdXJfZiA8 ICZkYmZbbnVtX2ZpZWxkc107IGkrKywgY3VyX2YrKykgewogCQl6dmFsIHRtcDsKLQkJaWYgKHpl bmRfaGFzaF9pbmRleF9maW5kKFpfQVJSVkFMX1BQKGZpZWxkcyksIGksICh2b2lkICoqKSZmaWVs ZCkgPT0gRkFJTFVSRSkgeworCQlpZiAoemVuZF9oYXNoX2luZGV4X2ZpbmQoWl9BUlJWQUxfUChm aWVsZHMpLCBpLCAodm9pZCAqKikmZmllbGQpID09IEZBSUxVUkUpIHsKIAkJCXBocF9lcnJvcl9k b2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgInVuZXhwZWN0ZWQgZXJyb3IiKTsKIAkJ CWVmcmVlKGNwKTsKIAkJCVJFVFVSTl9GQUxTRTsKQEAgLTMzMCw3ICszMzQsOCBAQAogICAgUmVw bGFjZXMgYSByZWNvcmQgdG8gdGhlIGRhdGFiYXNlICovCiBQSFBfRlVOQ1RJT04oZGJhc2VfcmVw bGFjZV9yZWNvcmQpCiB7Ci0JenZhbCAqKmRiaF9pZCwgKipmaWVsZHMsICoqZmllbGQsICoqcmVj bnVtOworCWxvbmcgZGJoX2lkLCByZWNudW07CisJenZhbCAqZmllbGRzLCAqKmZpZWxkOwogCWRi aGVhZF90ICpkYmg7CiAJaW50IGRiaF90eXBlOwogCkBAIC0zNDAsMjMgKzM0NSwxNyBAQAogCWlu dCBpOwogCURCYXNlX1RMU19WQVJTOwogCi0JaWYgKFpFTkRfTlVNX0FSR1MoKSAhPSAzIHx8IHpl bmRfZ2V0X3BhcmFtZXRlcnNfZXgoMywgJmRiaF9pZCwgJmZpZWxkcywgJnJlY251bSkgPT0gRkFJ TFVSRSkgewotCQlXUk9OR19QQVJBTV9DT1VOVDsKLQl9Ci0JY29udmVydF90b19sb25nX2V4KGRi aF9pZCk7Ci0JY29udmVydF90b19sb25nX2V4KHJlY251bSk7Ci0JaWYgKFpfVFlQRV9QUChmaWVs ZHMpICE9IElTX0FSUkFZKSB7Ci0JCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVf V0FSTklORywgIkV4cGVjdGVkIGFycmF5IGFzIHNlY29uZCBwYXJhbWV0ZXIiKTsKLQkJUkVUVVJO X0ZBTFNFOworCWlmICh6ZW5kX3BhcnNlX3BhcmFtZXRlcnMoWkVORF9OVU1fQVJHUygpIFRTUk1M U19DQywgImxhbCIsICZkYmhfaWQsICZmaWVsZHMsICZyZWNudW0pID09IEZBSUxVUkUpIHsKKwkJ cmV0dXJuOwogCX0KIAotCWRiaCA9IHplbmRfbGlzdF9maW5kKFpfTFZBTF9QUChkYmhfaWQpLCAm ZGJoX3R5cGUpOworCWRiaCA9IHplbmRfbGlzdF9maW5kKGRiaF9pZCwgJmRiaF90eXBlKTsKIAlp ZiAoIWRiaCB8fCBkYmhfdHlwZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJoZWFkKSkgewotCQlwaHBf ZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJVbmFibGUgdG8gZmluZCBk YXRhYmFzZSBmb3IgaWRlbnRpZmllciAlbGQiLCBaX0xWQUxfUFAoZGJoX2lkKSk7CisJCXBocF9l cnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIlVuYWJsZSB0byBmaW5kIGRh dGFiYXNlIGZvciBpZGVudGlmaWVyICVsZCIsIGRiaF9pZCk7CiAJCVJFVFVSTl9GQUxTRTsKIAl9 CiAKLQludW1fZmllbGRzID0gemVuZF9oYXNoX251bV9lbGVtZW50cyhaX0FSUlZBTF9QUChmaWVs ZHMpKTsKKwludW1fZmllbGRzID0gemVuZF9oYXNoX251bV9lbGVtZW50cyhaX0FSUlZBTF9QKGZp ZWxkcykpOwogCiAJaWYgKG51bV9maWVsZHMgIT0gZGJoLT5kYl9uZmllbGRzKSB7CiAJCXBocF9l cnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIldyb25nIG51bWJlciBvZiBm aWVsZHMgc3BlY2lmaWVkIik7CkBAIC0zNjgsNyArMzY3LDcgQEAKIAogCWRiZiA9IGRiaC0+ZGJf ZmllbGRzOwogCWZvciAoaSA9IDAsIGN1cl9mID0gZGJmOyBjdXJfZiA8ICZkYmZbbnVtX2ZpZWxk c107IGkrKywgY3VyX2YrKykgewotCQlpZiAoemVuZF9oYXNoX2luZGV4X2ZpbmQoWl9BUlJWQUxf UFAoZmllbGRzKSwgaSwgKHZvaWQgKiopJmZpZWxkKSA9PSBGQUlMVVJFKSB7CisJCWlmICh6ZW5k X2hhc2hfaW5kZXhfZmluZChaX0FSUlZBTF9QKGZpZWxkcyksIGksICh2b2lkICoqKSZmaWVsZCkg PT0gRkFJTFVSRSkgewogCQkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJO SU5HLCAidW5leHBlY3RlZCBlcnJvciIpOwogCQkJZWZyZWUoY3ApOwogCQkJUkVUVVJOX0ZBTFNF OwpAQCAtMzc4LDcgKzM3Nyw3IEBACiAJCXRfY3AgKz0gY3VyX2YtPmRiX2ZsZW47CiAJfQogCi0J aWYgKHB1dF9kYmZfcmVjb3JkKGRiaCwgWl9MVkFMX1BQKHJlY251bSksIGNwKSA8IDApIHsKKwlp ZiAocHV0X2RiZl9yZWNvcmQoZGJoLCByZWNudW0sIGNwKSA8IDApIHsKIAkJcGhwX2Vycm9yX2Rv Y3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAidW5hYmxlIHRvIHB1dCByZWNvcmQgYXQg JWxkIiwgZGJoLT5kYl9yZWNvcmRzKTsKIAkJZWZyZWUoY3ApOwogCQlSRVRVUk5fRkFMU0U7CkBA IC0zOTUsMjggKzM5NCwyNiBAQAogICAgTWFya3MgYSByZWNvcmQgdG8gYmUgZGVsZXRlZCAqLwog UEhQX0ZVTkNUSU9OKGRiYXNlX2RlbGV0ZV9yZWNvcmQpCiB7Ci0JenZhbCAqKmRiaF9pZCwgKipy ZWNvcmQ7CisJbG9uZyBkYmhfaWQsIHJlY29yZDsKIAlkYmhlYWRfdCAqZGJoOwogCWludCBkYmhf dHlwZTsKIAlEQmFzZV9UTFNfVkFSUzsKIAotCWlmIChaRU5EX05VTV9BUkdTKCkgIT0gMiB8fCAo emVuZF9nZXRfcGFyYW1ldGVyc19leCgyLCAmZGJoX2lkLCAmcmVjb3JkKSA9PSBGQUlMVVJFKSkg ewotCQlXUk9OR19QQVJBTV9DT1VOVDsKKwlpZiAoemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRf TlVNX0FSR1MoKSBUU1JNTFNfQ0MsICJsbCIsICZkYmhfaWQsICZyZWNvcmQpID09IEZBSUxVUkUp IHsKKwkJcmV0dXJuOwogCX0KLQljb252ZXJ0X3RvX2xvbmdfZXgoZGJoX2lkKTsKLQljb252ZXJ0 X3RvX2xvbmdfZXgocmVjb3JkKTsKIAotCWRiaCA9IHplbmRfbGlzdF9maW5kKFpfTFZBTF9QUChk YmhfaWQpLCAmZGJoX3R5cGUpOworCWRiaCA9IHplbmRfbGlzdF9maW5kKGRiaF9pZCwgJmRiaF90 eXBlKTsKIAlpZiAoIWRiaCB8fCBkYmhfdHlwZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJoZWFkKSkg ewotCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJVbmFibGUg dG8gZmluZCBkYXRhYmFzZSBmb3IgaWRlbnRpZmllciAlbGQiLCBaX0xWQUxfUFAoZGJoX2lkKSk7 CisJCXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIlVuYWJsZSB0 byBmaW5kIGRhdGFiYXNlIGZvciBpZGVudGlmaWVyICVsZCIsIGRiaF9pZCk7CiAJCVJFVFVSTl9G QUxTRTsKIAl9CiAKLQlpZiAoZGVsX2RiZl9yZWNvcmQoZGJoLCBaX0xWQUxfUFAocmVjb3JkKSkg PCAwKSB7Ci0JCWlmIChaX0xWQUxfUFAocmVjb3JkKSA+IGRiaC0+ZGJfcmVjb3JkcykgewotCQkJ cGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAicmVjb3JkICVsZCBv dXQgb2YgYm91bmRzIiwgWl9MVkFMX1BQKHJlY29yZCkpOworCWlmIChkZWxfZGJmX3JlY29yZChk YmgsIHJlY29yZCkgPCAwKSB7CisJCWlmIChyZWNvcmQgPiBkYmgtPmRiX3JlY29yZHMpIHsKKwkJ CXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgInJlY29yZCAlbGQg b3V0IG9mIGJvdW5kcyIsIHJlY29yZCk7CiAJCX0gZWxzZSB7Ci0JCQlwaHBfZXJyb3JfZG9jcmVm KE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJ1bmFibGUgdG8gZGVsZXRlIHJlY29yZCAlbGQi LCBaX0xWQUxfUFAocmVjb3JkKSk7CisJCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0ND LCBFX1dBUk5JTkcsICJ1bmFibGUgdG8gZGVsZXRlIHJlY29yZCAlbGQiLCByZWNvcmQpOwogCQl9 CiAJCVJFVFVSTl9GQUxTRTsKIAl9CkBAIC00MzAsNyArNDI3LDcgQEAKICAqLyAgCiBzdGF0aWMg dm9pZCBwaHBfZGJhc2VfZ2V0X3JlY29yZChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVURVJTLCBp bnQgYXNzb2MpCiB7Ci0JenZhbCAqKmRiaF9pZCwgKipyZWNvcmQ7CisJbG9uZyBkYmhfaWQsIHJl Y29yZDsKIAlkYmhlYWRfdCAqZGJoOwogCWludCBkYmhfdHlwZTsKIAlkYmZpZWxkX3QgKmRiZiwg KmN1cl9mOwpAQCAtNDQwLDIwICs0MzcsMTggQEAKIAlpbnQgZXJybm9fc2F2ZTsKIAlEQmFzZV9U TFNfVkFSUzsKIAotCWlmIChaRU5EX05VTV9BUkdTKCkgIT0gMiB8fCAoemVuZF9nZXRfcGFyYW1l dGVyc19leCgyLCAmZGJoX2lkLCAmcmVjb3JkKSA9PSBGQUlMVVJFKSkgewotCQlXUk9OR19QQVJB TV9DT1VOVDsKKwlpZiAoemVuZF9wYXJzZV9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1MoKSBUU1JN TFNfQ0MsICJsbCIsICZkYmhfaWQsICZyZWNvcmQpID09IEZBSUxVUkUpIHsKKwkJcmV0dXJuOwog CX0KLQljb252ZXJ0X3RvX2xvbmdfZXgoZGJoX2lkKTsKLQljb252ZXJ0X3RvX2xvbmdfZXgocmVj b3JkKTsKIAotCWRiaCA9IHplbmRfbGlzdF9maW5kKFpfTFZBTF9QUChkYmhfaWQpLCAmZGJoX3R5 cGUpOworCWRiaCA9IHplbmRfbGlzdF9maW5kKGRiaF9pZCwgJmRiaF90eXBlKTsKIAlpZiAoIWRi aCB8fCBkYmhfdHlwZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJoZWFkKSkgewotCQlwaHBfZXJyb3Jf ZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJVbmFibGUgdG8gZmluZCBkYXRhYmFz ZSBmb3IgaWRlbnRpZmllciAlbGQiLCBaX0xWQUxfUFAoZGJoX2lkKSk7CisJCXBocF9lcnJvcl9k b2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIlVuYWJsZSB0byBmaW5kIGRhdGFiYXNl IGZvciBpZGVudGlmaWVyICVsZCIsIGRiaF9pZCk7CiAJCVJFVFVSTl9GQUxTRTsKIAl9CiAKLQlp ZiAoKGRhdGEgPSBnZXRfZGJmX3JlY29yZChkYmgsIFpfTFZBTF9QUChyZWNvcmQpKSkgPT0gTlVM TCkgewotCQlwaHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJUcmll ZCB0byByZWFkIGJhZCByZWNvcmQgJWxkIiwgWl9MVkFMX1BQKHJlY29yZCkpOworCWlmICgoZGF0 YSA9IGdldF9kYmZfcmVjb3JkKGRiaCwgcmVjb3JkKSkgPT0gTlVMTCkgeworCQlwaHBfZXJyb3Jf ZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJUcmllZCB0byByZWFkIGJhZCByZWNv cmQgJWxkIiwgcmVjb3JkKTsKIAkJUkVUVVJOX0ZBTFNFOwogCX0KIApAQCAtNTg3LDggKzU4Miw5 IEBACiAgICBDcmVhdGVzIGEgbmV3IGRCYXNlLWZvcm1hdCBkYXRhYmFzZSBmaWxlICovCiBQSFBf RlVOQ1RJT04oZGJhc2VfY3JlYXRlKQogewotCXp2YWwgKipmaWxlbmFtZSwgKipmaWVsZHMsICoq ZmllbGQsICoqdmFsdWU7Ci0JaW50IGZkOworCWNoYXIgKmZpbGVuYW1lOworCXp2YWwgKmZpZWxk cywgKipmaWVsZCwgKip2YWx1ZTsKKwlpbnQgZmlsZW5hbWVfbGVuLCBmZDsKIAlkYmhlYWRfdCAq ZGJoOwogCiAJaW50IG51bV9maWVsZHM7CkBAIC01OTYsMzAgKzU5MiwyNCBAQAogCWludCBpLCBy bGVuLCBoYW5kbGU7CiAJREJhc2VfVExTX1ZBUlM7CiAKLQlpZiAoWkVORF9OVU1fQVJHUygpICE9 IDIgfHwgKHplbmRfZ2V0X3BhcmFtZXRlcnNfZXgoMiwgJmZpbGVuYW1lLCAmZmllbGRzKSA9PSBG QUlMVVJFKSkgewotCQlXUk9OR19QQVJBTV9DT1VOVDsKLQl9Ci0JY29udmVydF90b19zdHJpbmdf ZXgoZmlsZW5hbWUpOwotCi0JaWYgKFpfVFlQRV9QUChmaWVsZHMpICE9IElTX0FSUkFZKSB7Ci0J CXBocF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIkV4cGVjdGVkIGFy cmF5IGFzIHNlY29uZCBwYXJhbWV0ZXIiKTsKLQkJUkVUVVJOX0ZBTFNFOworCWlmICh6ZW5kX3Bh cnNlX3BhcmFtZXRlcnMoWkVORF9OVU1fQVJHUygpIFRTUk1MU19DQywgInNhIiwgJmZpbGVuYW1l LCAmZmlsZW5hbWVfbGVuLCAmZmllbGRzKSA9PSBGQUlMVVJFKSB7CisJCXJldHVybjsKIAl9CiAK LQlpZiAoUEcoc2FmZV9tb2RlKSAmJiAoIXBocF9jaGVja3VpZChaX1NUUlZBTF9QUChmaWxlbmFt ZSksIE5VTEwsIENIRUNLVUlEX0NIRUNLX0ZJTEVfQU5EX0RJUikpKSB7CisJaWYgKFBHKHNhZmVf bW9kZSkgJiYgKCFwaHBfY2hlY2t1aWQoZmlsZW5hbWUsIE5VTEwsIENIRUNLVUlEX0NIRUNLX0ZJ TEVfQU5EX0RJUikpKSB7CiAJCVJFVFVSTl9GQUxTRTsKIAl9CiAJCi0JaWYgKHBocF9jaGVja19v cGVuX2Jhc2VkaXIoWl9TVFJWQUxfUFAoZmlsZW5hbWUpIFRTUk1MU19DQykpIHsKKwlpZiAocGhw X2NoZWNrX29wZW5fYmFzZWRpcihmaWxlbmFtZSBUU1JNTFNfQ0MpKSB7CiAJCVJFVFVSTl9GQUxT RTsKIAl9CiAKLQlpZiAoKGZkID0gVkNXRF9PUEVOX01PREUoWl9TVFJWQUxfUFAoZmlsZW5hbWUp LCBPX0JJTkFSWXxPX1JEV1J8T19DUkVBVCwgMDY0NCkpIDwgMCkgeworCWlmICgoZmQgPSBWQ1dE X09QRU5fTU9ERShmaWxlbmFtZSwgT19CSU5BUll8T19SRFdSfE9fQ1JFQVQsIDA2NDQpKSA8IDAp IHsKIAkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAiVW5hYmxl IHRvIGNyZWF0ZSBkYXRhYmFzZSAoJWQpOiAlcyIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOwog CQlSRVRVUk5fRkFMU0U7CiAJfQogCi0JbnVtX2ZpZWxkcyA9IHplbmRfaGFzaF9udW1fZWxlbWVu dHMoWl9BUlJWQUxfUFAoZmllbGRzKSk7CisJbnVtX2ZpZWxkcyA9IHplbmRfaGFzaF9udW1fZWxl bWVudHMoWl9BUlJWQUxfUChmaWVsZHMpKTsKIAogCWlmIChudW1fZmllbGRzIDw9IDApIHsKIAkJ cGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAiVW5hYmxlIHRvIGNy ZWF0ZSBkYXRhYmFzZSB3aXRob3V0IGZpZWxkcyIpOwpAQCAtNjYxLDcgKzY1MSw3IEBACiAKIAlm b3IgKGkgPSAwLCBjdXJfZiA9IGRiZjsgaSA8IG51bV9maWVsZHM7IGkrKywgY3VyX2YrKykgewog CQkvKiBsb29rIHVwIHRoZSBmaXJzdCBmaWVsZCAqLwotCQlpZiAoemVuZF9oYXNoX2luZGV4X2Zp bmQoWl9BUlJWQUxfUFAoZmllbGRzKSwgaSwgKHZvaWQgKiopJmZpZWxkKSA9PSBGQUlMVVJFKSB7 CisJCWlmICh6ZW5kX2hhc2hfaW5kZXhfZmluZChaX0FSUlZBTF9QKGZpZWxkcyksIGksICh2b2lk ICoqKSZmaWVsZCkgPT0gRkFJTFVSRSkgewogCQkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1M U19DQywgRV9XQVJOSU5HLCAidW5hYmxlIHRvIGZpbmQgZmllbGQgJWQiLCBpKTsKIAkJCWZyZWVf ZGJmX2hlYWQoZGJoKTsKIAkJCVJFVFVSTl9GQUxTRTsKQEAgLTc1NCw3MCArNzQ0LDcwIEBACiAv KiB9fX0gKi8KIAogLyoge3t7IGFyZ2luZm8gKi8KLXN0YXRpYworU1RBVElDX0FSR0lORk8KIFpF TkRfQkVHSU5fQVJHX0lORk8oYXJnaW5mb19kYmFzZV9vcGVuLCAwKQogCVpFTkRfQVJHX0lORk8o MCwgbmFtZSkKIAlaRU5EX0FSR19JTkZPKDAsIG1vZGUpCiBaRU5EX0VORF9BUkdfSU5GTygpCiAK LXN0YXRpYworU1RBVElDX0FSR0lORk8KIFpFTkRfQkVHSU5fQVJHX0lORk8oYXJnaW5mb19kYmFz ZV9jbG9zZSwgMCkKIAlaRU5EX0FSR19JTkZPKDAsIGlkZW50aWZpZXIpCiBaRU5EX0VORF9BUkdf SU5GTygpCiAKLXN0YXRpYworU1RBVElDX0FSR0lORk8KIFpFTkRfQkVHSU5fQVJHX0lORk8oYXJn aW5mb19kYmFzZV9udW1yZWNvcmRzLCAwKQogCVpFTkRfQVJHX0lORk8oMCwgaWRlbnRpZmllcikK IFpFTkRfRU5EX0FSR19JTkZPKCkKIAotc3RhdGljCitTVEFUSUNfQVJHSU5GTwogWkVORF9CRUdJ Tl9BUkdfSU5GTyhhcmdpbmZvX2RiYXNlX251bWZpZWxkcywgMCkKIAlaRU5EX0FSR19JTkZPKDAs IGlkZW50aWZpZXIpCiBaRU5EX0VORF9BUkdfSU5GTygpCiAKLXN0YXRpYworU1RBVElDX0FSR0lO Rk8KIFpFTkRfQkVHSU5fQVJHX0lORk8oYXJnaW5mb19kYmFzZV9wYWNrLCAwKQogCVpFTkRfQVJH X0lORk8oMCwgaWRlbnRpZmllcikKIFpFTkRfRU5EX0FSR19JTkZPKCkKIAotc3RhdGljCitTVEFU SUNfQVJHSU5GTwogWkVORF9CRUdJTl9BUkdfSU5GTyhhcmdpbmZvX2RiYXNlX2FkZF9yZWNvcmQs IDApCiAJWkVORF9BUkdfSU5GTygwLCBpZGVudGlmaWVyKQogCVpFTkRfQVJHX0lORk8oMCwgZGF0 YSkgLyogQVJSQVlfSU5GTygwLCBkYXRhLCAwKSAqLwogWkVORF9FTkRfQVJHX0lORk8oKQogCi1z dGF0aWMKK1NUQVRJQ19BUkdJTkZPCiBaRU5EX0JFR0lOX0FSR19JTkZPKGFyZ2luZm9fZGJhc2Vf cmVwbGFjZV9yZWNvcmQsIDApCiAJWkVORF9BUkdfSU5GTygwLCBpZGVudGlmaWVyKQogCVpFTkRf QVJHX0lORk8oMCwgZGF0YSkgLyogQVJSQVlfSU5GTygwLCBkYXRhLCAwKSAqLwogCVpFTkRfQVJH X0lORk8oMCwgcmVjbnVtKQogWkVORF9FTkRfQVJHX0lORk8oKQogCi1zdGF0aWMKK1NUQVRJQ19B UkdJTkZPCiBaRU5EX0JFR0lOX0FSR19JTkZPKGFyZ2luZm9fZGJhc2VfZGVsZXRlX3JlY29yZCwg MCkKIAlaRU5EX0FSR19JTkZPKDAsIGlkZW50aWZpZXIpCiAJWkVORF9BUkdfSU5GTygwLCByZWNv cmQpCiBaRU5EX0VORF9BUkdfSU5GTygpCiAKLXN0YXRpYworU1RBVElDX0FSR0lORk8KIFpFTkRf QkVHSU5fQVJHX0lORk8oYXJnaW5mb19kYmFzZV9nZXRfcmVjb3JkLCAwKQogCVpFTkRfQVJHX0lO Rk8oMCwgaWRlbnRpZmllcikKIAlaRU5EX0FSR19JTkZPKDAsIHJlY29yZCkKIFpFTkRfRU5EX0FS R19JTkZPKCkKIAotc3RhdGljCitTVEFUSUNfQVJHSU5GTwogWkVORF9CRUdJTl9BUkdfSU5GTyhh cmdpbmZvX2RiYXNlX2dldF9yZWNvcmRfd2l0aF9uYW1lcywgMCkKIAlaRU5EX0FSR19JTkZPKDAs IGlkZW50aWZpZXIpCiAJWkVORF9BUkdfSU5GTygwLCByZWNvcmQpCiBaRU5EX0VORF9BUkdfSU5G TygpCiAKLXN0YXRpYworU1RBVElDX0FSR0lORk8KIFpFTkRfQkVHSU5fQVJHX0lORk8oYXJnaW5m b19kYmFzZV9jcmVhdGUsIDApCiAJWkVORF9BUkdfSU5GTygwLCBmaWxlbmFtZSkKIAlaRU5EX0FS R19JTkZPKDAsIGZpZWxkcykgLyogQVJSQVlfSU5GTygwLCBmaWVsZHMsIDApICovCiBaRU5EX0VO RF9BUkdfSU5GTygpCiAKLXN0YXRpYworU1RBVElDX0FSR0lORk8KIFpFTkRfQkVHSU5fQVJHX0lO Rk8oYXJnaW5mb19kYmFzZV9nZXRfaGVhZGVyX2luZm8sIDApCiAJWkVORF9BUkdfSU5GTygwLCBk YXRhYmFzZV9oYW5kbGUpCiBaRU5EX0VORF9BUkdfSU5GTygpCkBAIC04NDgsMjAgKzgzOCwyMCBA QAogICovCiBQSFBfRlVOQ1RJT04oZGJhc2VfZ2V0X2hlYWRlcl9pbmZvKQogewotCXp2YWwJCSoq ZGJoX2lkLCAqcm93OworCXp2YWwJCSpyb3c7CisJbG9uZwkJZGJoX2lkOwogCWRiZmllbGRfdAkq ZGJmLCAqY3VyX2Y7CiAJZGJoZWFkX3QJKmRiaDsKIAlpbnQgCQlkYmhfdHlwZTsKIAlEQmFzZV9U TFNfVkFSUzsJCiAKLQlpZiAoWkVORF9OVU1fQVJHUygpICE9IDEgfHwgKHplbmRfZ2V0X3BhcmFt ZXRlcnNfZXgoMSwgJmRiaF9pZCkgPT0gRkFJTFVSRSkpIHsKLQkJV1JPTkdfUEFSQU1fQ09VTlQ7 CisJaWYgKHplbmRfcGFyc2VfcGFyYW1ldGVycyhaRU5EX05VTV9BUkdTKCkgVFNSTUxTX0NDLCAi bCIsICZkYmhfaWQpID09IEZBSUxVUkUpIHsKKwkJcmV0dXJuOwogCX0KLQljb252ZXJ0X3RvX2xv bmdfZXgoZGJoX2lkKTsKIAotCWRiaCA9IHplbmRfbGlzdF9maW5kKFpfTFZBTF9QUChkYmhfaWQp LCAmZGJoX3R5cGUpOworCWRiaCA9IHplbmRfbGlzdF9maW5kKGRiaF9pZCwgJmRiaF90eXBlKTsK IAlpZiAoIWRiaCB8fCBkYmhfdHlwZSAhPSBEQmFzZV9HTE9CQUwobGVfZGJoZWFkKSkgewotCQlw aHBfZXJyb3JfZG9jcmVmKE5VTEwgVFNSTUxTX0NDLCBFX1dBUk5JTkcsICJVbmFibGUgdG8gZmlu ZCBkYXRhYmFzZSBmb3IgaWRlbnRpZmllciAlbGQiLCBaX0xWQUxfUFAoZGJoX2lkKSk7CisJCXBo cF9lcnJvcl9kb2NyZWYoTlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIlVuYWJsZSB0byBmaW5k IGRhdGFiYXNlIGZvciBpZGVudGlmaWVyICVsZCIsIGRiaF9pZCk7CiAJCVJFVFVSTl9GQUxTRTsK IAl9CiAK ------=_Part_4534_23565318.1231953388706 Content-Type: text/plain; name=bug47002.phpt.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fpy8nagi1 Content-Disposition: attachment; filename=bug47002.phpt.txt LS1URVNULS0KQnVnICM0NzAwMiAoSW5jb3JyZWN0IG51bWJlciBvZiBmaWVsZHMgd2hlbiBudW1i ZXIgb2YgZmllbGRzID4gMTAyNCkKLS1TS0lQSUYtLQo8P3BocAppZiAoIWV4dGVuc2lvbl9sb2Fk ZWQoJ2RiYXNlJykpIHsKCWRpZSgnc2tpcCBkYmFzZSBleHRlbnNpb24gbm90IGF2YWlsYWJsZScp Owp9Cj8+Ci0tRklMRS0tCjw/cGhwCgokZmllbGRzID0gYXJyYXkoKTsKJGZpbGUgPSBkaXJuYW1l KF9fRklMRV9fKS4iL2J1ZzQ3MDAyLmRiZiI7Cgpmb3IoICRpID0gMDsgJGkgPCAyMDQ4OyAkaSsr ICkgewoJJGZpZWxkc1tdID0gYXJyYXkoJ2ZpZWxkJy4kaSwgJ0MnLCAxMCk7Cn0KCiRpZCA9IGRi YXNlX2NyZWF0ZSgkZmlsZSwgJGZpZWxkcyk7Cgp2YXJfZHVtcChkYmFzZV9udW1maWVsZHMoJGlk KSk7CgpAdW5saW5rKCRmaWxlKTsKCmVjaG8gIkRvbmVcbiI7Cj8+Ci0tRVhQRUNURi0tCQppbnQo MjA0OCkKRG9uZQo= ------=_Part_4534_23565318.1231953388706 Content-Type: text/plain; name=dbase_php5.2.9_bug47002.diff.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fpy8nggy2 Content-Disposition: attachment; filename=dbase_php5.2.9_bug47002.diff.txt SW5kZXg6IGV4dC9kYmFzZS9kYmZfaGVhZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9yZXBvc2l0 b3J5L3BocC1zcmMvZXh0L2RiYXNlL0F0dGljL2RiZl9oZWFkLmMsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMTQuNC4xLjIuOApkaWZmIC11IC11IC13IC1iIC1yMS4xNC40LjEuMi44IGRiZl9oZWFk LmMKLS0tIGV4dC9kYmFzZS9kYmZfaGVhZC5jCTE4IE5vdiAyMDA3IDE0OjIwOjE3IC0wMDAwCTEu MTQuNC4xLjIuOAorKysgZXh0L2RiYXNlL2RiZl9oZWFkLmMJMTQgSmFuIDIwMDkgMTY6NDk6Mjcg LTAwMDAKQEAgLTIyLDcgKzIyLDcgQEAKIAlkYmhlYWRfdCAqZGJoOwogCXN0cnVjdCBkYmZfZGhl YWQgIGRiaGVhZDsKIAlkYmZpZWxkX3QgKmRiZiwgKmN1cl9mLCAqdGRiZjsKLQlpbnQgcmV0LCBu ZmllbGRzLCBvZmZzZXQsIGdmX3JldHZhbDsKKwlpbnQgcmV0LCBuZmllbGRzLCBvZmZzZXQsIGdm X3JldHZhbCwgaTsKIAogCWlmICgoZGJoID0gKGRiaGVhZF90ICopY2FsbG9jKDEsIHNpemVvZihk YmhlYWRfdCkpKSA9PSBOVUxMKQogCQlyZXR1cm4gTlVMTDsKQEAgLTQ2LDE0ICs0NiwxNiBAQAog CQlkYmhlYWQuZGJoX2RhdGVbREJIX0RBVEVfTU9OVEhdLAogCQlkYmhlYWQuZGJoX2RhdGVbREJI X0RBVEVfREFZXSk7CiAKKwluZmllbGRzID0gKChkYmgtPmRiX2hsZW4gLSBzaXplb2YoZGJoZWFk X3QpKSAvIHNpemVvZihkYmZpZWxkX3QpKSsxOworCiAJLyogbWFsbG9jIGVub3VnaCBtZW1vcnkg Zm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWVsZHM6CiAJICAgMzIgKiAxMDI0ID0gMzJLIGRC YXNlNSAoZm9yIFdpbikgc2VlbXMgdG8gYWxsb3cgdGhhdCBtYW55ICovCi0JdGRiZiA9IChkYmZp ZWxkX3QgKiljYWxsb2MoMSwgc2l6ZW9mKGRiZmllbGRfdCkqMTAyNCk7CisJdGRiZiA9IChkYmZp ZWxkX3QgKiltYWxsb2Moc2l6ZW9mKGRiZmllbGRfdCkqbmZpZWxkcyk7CiAJCiAJb2Zmc2V0ID0g MTsKLQluZmllbGRzID0gMDsKIAlnZl9yZXR2YWwgPSAwOwotCWZvciAoY3VyX2YgPSB0ZGJmOyBn Zl9yZXR2YWwgPCAyICYmIG5maWVsZHMgPCAxMDI0OyBjdXJfZisrKSB7CisJaSA9IDA7CisJZm9y IChjdXJfZiA9IHRkYmY7IGdmX3JldHZhbCA8IDIgJiYgaSA8IG5maWVsZHM7IGN1cl9mKyspIHsK IAkJZ2ZfcmV0dmFsID0gZ2V0X2RiZl9maWVsZChkYmgsIGN1cl9mKTsKIAogCQlpZiAoZ2ZfcmV0 dmFsIDwgMCkgewpAQCAtNjQsNyArNjYsNiBAQAogCQlpZiAoZ2ZfcmV0dmFsICE9IDIgKSB7CiAJ CQljdXJfZi0+ZGJfZm9mZnNldCA9IG9mZnNldDsKIAkJCW9mZnNldCArPSBjdXJfZi0+ZGJfZmxl bjsKLQkJCW5maWVsZHMrKzsKIAkJfQogCX0KIAlkYmgtPmRiX25maWVsZHMgPSBuZmllbGRzOwo= ------=_Part_4534_23565318.1231953388706--