This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c/1534: ICE probably due to uninitialized memory



>Number:         1534
>Category:       c
>Synopsis:       ICE probably due to uninitialized memory
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 02 00:06:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Ulrich Drepper
>Release:        2.97 20010101
>Organization:
>Environment:
Linux/x86
>Description:
Compiling the checker library fails with the gcc of the last days because the compiler dies.  The problem is very sensitive to the input and options which makes me believe it has something to do with reading uninitialized memory or memory corruption.  Using a different option or leaving out certain parts of the sources makes the error go away.

The enclosed input file must be compiled with

  gcc -c -O2 maccess.i

Don't use -O nor -O3.  I hope it's reproducible for whoever handles this.  I get

drepper@myware build$ gcc -c -O2 maccess.i 
maccess.i: In function `SetBitMem':
maccess.i:688: Virtual array reg_n_info[73]: element 73 out of bounds
maccess.i:688: Internal compiler error in mark_set_1, at flow.c:4760
>How-To-Repeat:
gcc -c -O2 mchecker.i
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="maccess.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="maccess.i"

dHlwZWRlZiB1bnNpZ25lZCBpbnQgc2l6ZV90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBfX3VfaW50
Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgX191X2xvbmc7Cl9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1
bnNpZ25lZCBsb25nIGxvbmcgaW50IF9fdV9xdWFkX3Q7Cl9fZXh0ZW5zaW9uX18gdHlwZWRlZiBs
b25nIGxvbmcgaW50IF9fcXVhZF90Owp0eXBlZGVmIHNpZ25lZCBjaGFyIF9faW50OF90Owp0eXBl
ZGVmIHVuc2lnbmVkIGNoYXIgX191aW50OF90Owp0eXBlZGVmIHNpZ25lZCBzaG9ydCBpbnQgX19p
bnQxNl90Owp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGludCBfX3VpbnQxNl90Owp0eXBlZGVmIHNp
Z25lZCBpbnQgX19pbnQzMl90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBfX3VpbnQzMl90Owp0eXBl
ZGVmIF9fcXVhZF90ICpfX3FhZGRyX3Q7CnR5cGVkZWYgX191X2ludCBfX3VpZF90Owp0eXBlZGVm
IF9fdV9pbnQgX19naWRfdDsKdHlwZWRlZiBfX3VfbG9uZyBfX2lub190Owp0eXBlZGVmIF9fdV9p
bnQgX19ubGlua190Owp0eXBlZGVmIGxvbmcgaW50IF9fb2ZmX3Q7CnR5cGVkZWYgX19xdWFkX3Qg
X19sb2ZmX3Q7CnR5cGVkZWYgaW50IF9fcGlkX3Q7CnR5cGVkZWYgaW50IF9fc3NpemVfdDsKdHlw
ZWRlZiBfX3VfaW50IF9faWRfdDsKdHlwZWRlZiBpbnQgX19kYWRkcl90Owp0eXBlZGVmIGNoYXIg
Kl9fY2FkZHJfdDsKdHlwZWRlZiBsb25nIGludCBfX3RpbWVfdDsKdHlwZWRlZiB1bnNpZ25lZCBp
bnQgX191c2Vjb25kc190Owp0eXBlZGVmIGxvbmcgaW50IF9fc3VzZWNvbmRzX3Q7CnR5cGVkZWYg
bG9uZyBpbnQgX19zd2Jsa190Owp0eXBlZGVmIGxvbmcgaW50IF9fY2xvY2tfdDsKdHlwZWRlZiBp
bnQgX19jbG9ja2lkX3Q7CnR5cGVkZWYgaW50IF9fdGltZXJfdDsKdHlwZWRlZiB1bnNpZ25lZCBs
b25nIGludCBfX2ZkX21hc2s7CnR5cGVkZWYgaW50IF9fa2V5X3Q7CnR5cGVkZWYgdW5zaWduZWQg
c2hvcnQgaW50IF9faXBjX3BpZF90Owp0eXBlZGVmIGxvbmcgaW50IF9fYmxrc2l6ZV90Owp0eXBl
ZGVmIGxvbmcgaW50IF9fYmxrY250X3Q7CnR5cGVkZWYgX19xdWFkX3QgX19ibGtjbnQ2NF90Owp0
eXBlZGVmIF9fdV9sb25nIF9fZnNibGtjbnRfdDsKdHlwZWRlZiBfX3VfcXVhZF90IF9fZnNibGtj
bnQ2NF90Owp0eXBlZGVmIF9fdV9sb25nIF9fZnNmaWxjbnRfdDsKdHlwZWRlZiBfX3VfcXVhZF90
IF9fZnNmaWxjbnQ2NF90Owp0eXBlZGVmIF9fdV9xdWFkX3QgX19pbm82NF90Owp0eXBlZGVmIF9f
bG9mZl90IF9fb2ZmNjRfdDsKdHlwZWRlZiBsb25nIGludCBfX3Rfc2NhbGFyX3Q7CnR5cGVkZWYg
dW5zaWduZWQgbG9uZyBpbnQgX190X3VzY2FsYXJfdDsKdHlwZWRlZiBpbnQgX19pbnRwdHJfdDsK
dHlwZWRlZiB1bnNpZ25lZCBpbnQgX19zb2NrbGVuX3Q7CnR5cGVkZWYgX191X2ludCB1X2ludDsK
dHlwZWRlZiBfX3VfbG9uZyB1X2xvbmc7CnR5cGVkZWYgX19xdWFkX3QgcXVhZF90Owp0eXBlZGVm
IF9fdV9xdWFkX3QgdV9xdWFkX3Q7CnR5cGVkZWYgX19sb2ZmX3QgbG9mZl90Owp0eXBlZGVmIF9f
aW5vX3QgaW5vX3Q7CnR5cGVkZWYgX19naWRfdCBnaWRfdDsKdHlwZWRlZiBfX25saW5rX3Qgbmxp
bmtfdDsKdHlwZWRlZiBfX3VpZF90IHVpZF90Owp0eXBlZGVmIF9fb2ZmX3Qgb2ZmX3Q7CnR5cGVk
ZWYgX19waWRfdCBwaWRfdDsKdHlwZWRlZiBfX2lkX3QgaWRfdDsKdHlwZWRlZiBfX3NzaXplX3Qg
c3NpemVfdDsKdHlwZWRlZiBfX2RhZGRyX3QgZGFkZHJfdDsKdHlwZWRlZiBfX2NhZGRyX3QgY2Fk
ZHJfdDsKdHlwZWRlZiBfX2tleV90IGtleV90Owp0eXBlZGVmIF9fdGltZV90IHRpbWVfdDsKdHlw
ZWRlZiBfX2Nsb2NraWRfdCBjbG9ja2lkX3Q7CnR5cGVkZWYgX190aW1lcl90IHRpbWVyX3Q7CnR5
cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWxvbmc7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50
IHVzaG9ydDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDsKdHlwZWRlZiBpbnQgaW50OF90IF9f
YXR0cmlidXRlX18gKChfX21vZGVfXyAoX19RSV9fKSkpOwp0eXBlZGVmIGludCBpbnQxNl90IF9f
YXR0cmlidXRlX18gKChfX21vZGVfXyAoX19ISV9fKSkpOwp0eXBlZGVmIGludCBpbnQzMl90IF9f
YXR0cmlidXRlX18gKChfX21vZGVfXyAoX19TSV9fKSkpOwp0eXBlZGVmIHVuc2lnbmVkIGludCB1
X2ludDhfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fUUlfXykpKTsKdHlwZWRlZiB1bnNp
Z25lZCBpbnQgdV9pbnQxNl90IF9fYXR0cmlidXRlX18gKChfX21vZGVfXyAoX19ISV9fKSkpOwp0
eXBlZGVmIHVuc2lnbmVkIGludCB1X2ludDMyX3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChf
X1NJX18pKSk7CnR5cGVkZWYgaW50IHJlZ2lzdGVyX3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9f
IChfX3dvcmRfXykpKTsKdHlwZWRlZiBpbnQgX19zaWdfYXRvbWljX3Q7CnR5cGVkZWYgc3RydWN0
CiAgewogICAgdW5zaWduZWQgbG9uZyBpbnQgX192YWxbKDEwMjQgLyAoOCAqIHNpemVvZiAodW5z
aWduZWQgbG9uZyBpbnQpKSldOwogIH0gX19zaWdzZXRfdDsKc3RydWN0IHRpbWVzcGVjCiAgewog
ICAgbG9uZyBpbnQgdHZfc2VjOwogICAgbG9uZyBpbnQgdHZfbnNlYzsKICB9OwpzdHJ1Y3QgdGlt
ZXZhbDsKdHlwZWRlZiBfX2ZkX21hc2sgZmRfbWFzazsKZXh0ZXJuIGludCBjaGtyX291dDsKZXh0
ZXJuIGludCBfX3NpZ2lzbWVtYmVyIChfX2NvbnN0IF9fc2lnc2V0X3QgKiwgaW50KTsKZXh0ZXJu
IGludCBfX3NpZ2FkZHNldCAoX19zaWdzZXRfdCAqLCBpbnQpOwpleHRlcm4gaW50IF9fc2lnZGVs
c2V0IChfX3NpZ3NldF90ICosIGludCk7CnR5cGVkZWYgX19zaWdfYXRvbWljX3Qgc2lnX2F0b21p
Y190Owp0eXBlZGVmIF9fc2lnc2V0X3Qgc2lnc2V0X3Q7CnR5cGVkZWYgdm9pZCAoKl9fc2lnaGFu
ZGxlcl90KSAoaW50KTsKZXh0ZXJuIF9fc2lnaGFuZGxlcl90IF9fc3lzdl9zaWduYWwgKGludCBf
X3NpZywgX19zaWdoYW5kbGVyX3QgX19oYW5kbGVyKQogICAgICAgICAgICA7CmV4dGVybiBfX3Np
Z2hhbmRsZXJfdCBzaWduYWwgKGludCBfX3NpZywgX19zaWdoYW5kbGVyX3QgX19oYW5kbGVyKTsK
ZXh0ZXJuIGludCBraWxsIChfX3BpZF90IF9fcGlkLCBpbnQgX19zaWcpOwpleHRlcm4gaW50IGtp
bGxwZyAoX19waWRfdCBfX3BncnAsIGludCBfX3NpZyk7CmV4dGVybiBpbnQgcmFpc2UgKGludCBf
X3NpZyk7CmV4dGVybiBfX3NpZ2hhbmRsZXJfdCBzc2lnbmFsIChpbnQgX19zaWcsIF9fc2lnaGFu
ZGxlcl90IF9faGFuZGxlcik7CmV4dGVybiBpbnQgZ3NpZ25hbCAoaW50IF9fc2lnKTsKZXh0ZXJu
IHZvaWQgcHNpZ25hbCAoaW50IF9fc2lnLCBfX2NvbnN0IGNoYXIgKl9fcyk7CmV4dGVybiBpbnQg
X19zaWdwYXVzZSAoaW50IF9fc2lnX29yX21hc2ssIGludCBfX2lzX3NpZyk7CmV4dGVybiBpbnQg
c2lncGF1c2UgKGludCBfX21hc2spOwpleHRlcm4gaW50IHNpZ2Jsb2NrIChpbnQgX19tYXNrKTsK
ZXh0ZXJuIGludCBzaWdzZXRtYXNrIChpbnQgX19tYXNrKTsKZXh0ZXJuIGludCBzaWdnZXRtYXNr
ICh2b2lkKTsKdHlwZWRlZiBfX3NpZ2hhbmRsZXJfdCBzaWdfdDsKdHlwZWRlZiB1bmlvbiBzaWd2
YWwKICB7CiAgICBpbnQgc2l2YWxfaW50OwogICAgdm9pZCAqc2l2YWxfcHRyOwogIH0gc2lndmFs
X3Q7CnR5cGVkZWYgc3RydWN0IHNpZ2luZm8KICB7CiAgICBpbnQgc2lfc2lnbm87CiAgICBpbnQg
c2lfZXJybm87CiAgICBpbnQgc2lfY29kZTsKICAgIHVuaW9uCiAgICAgIHsKICAgICAgICBpbnQg
X3BhZFsoKDEyOCAvIHNpemVvZiAoaW50KSkgLSAzKV07CiAgICAgICAgc3RydWN0CiAgICAgICAg
ICB7CiAgICAgICAgICAgIF9fcGlkX3Qgc2lfcGlkOwogICAgICAgICAgICBfX3VpZF90IHNpX3Vp
ZDsKICAgICAgICAgIH0gX2tpbGw7CiAgICAgICAgc3RydWN0CiAgICAgICAgICB7CiAgICAgICAg
ICAgIHVuc2lnbmVkIGludCBfdGltZXIxOwogICAgICAgICAgICB1bnNpZ25lZCBpbnQgX3RpbWVy
MjsKICAgICAgICAgIH0gX3RpbWVyOwogICAgICAgIHN0cnVjdAogICAgICAgICAgewogICAgICAg
ICAgICBfX3BpZF90IHNpX3BpZDsKICAgICAgICAgICAgX191aWRfdCBzaV91aWQ7CiAgICAgICAg
ICAgIHNpZ3ZhbF90IHNpX3NpZ3ZhbDsKICAgICAgICAgIH0gX3J0OwogICAgICAgIHN0cnVjdAog
ICAgICAgICAgewogICAgICAgICAgICBfX3BpZF90IHNpX3BpZDsKICAgICAgICAgICAgX191aWRf
dCBzaV91aWQ7CiAgICAgICAgICAgIGludCBzaV9zdGF0dXM7CiAgICAgICAgICAgIF9fY2xvY2tf
dCBzaV91dGltZTsKICAgICAgICAgICAgX19jbG9ja190IHNpX3N0aW1lOwogICAgICAgICAgfSBf
c2lnY2hsZDsKICAgICAgICBzdHJ1Y3QKICAgICAgICAgIHsKICAgICAgICAgICAgdm9pZCAqc2lf
YWRkcjsKICAgICAgICAgIH0gX3NpZ2ZhdWx0OwogICAgICAgIHN0cnVjdAogICAgICAgICAgewog
ICAgICAgICAgICBsb25nIGludCBzaV9iYW5kOwogICAgICAgICAgICBpbnQgc2lfZmQ7CiAgICAg
ICAgICB9IF9zaWdwb2xsOwogICAgICB9IF9zaWZpZWxkczsKICB9IHNpZ2luZm9fdDsKdHlwZWRl
ZiBzdHJ1Y3Qgc2lnZXZlbnQKICB7CiAgICBzaWd2YWxfdCBzaWdldl92YWx1ZTsKICAgIGludCBz
aWdldl9zaWdubzsKICAgIGludCBzaWdldl9ub3RpZnk7CiAgICB1bmlvbgogICAgICB7CiAgICAg
ICAgaW50IF9wYWRbKCg2NCAvIHNpemVvZiAoaW50KSkgLSAzKV07CiAgICAgICAgc3RydWN0CiAg
ICAgICAgICB7CiAgICAgICAgICAgIHZvaWQgKCpfZnVuY3Rpb24pIChzaWd2YWxfdCk7CiAgICAg
ICAgICAgIHZvaWQgKl9hdHRyaWJ1dGU7CiAgICAgICAgICB9IF9zaWdldl90aHJlYWQ7CiAgICAg
IH0gX3NpZ2V2X3VuOwogIH0gc2lnZXZlbnRfdDsKZW51bQp7CiAgU0lHRVZfU0lHTkFMID0gMCwK
ICBTSUdFVl9OT05FLAogIFNJR0VWX1RIUkVBRAp9OwpleHRlcm4gaW50IHNpZ2VtcHR5c2V0IChz
aWdzZXRfdCAqX19zZXQpOwpleHRlcm4gaW50IHNpZ2ZpbGxzZXQgKHNpZ3NldF90ICpfX3NldCk7
CmV4dGVybiBpbnQgc2lnYWRkc2V0IChzaWdzZXRfdCAqX19zZXQsIGludCBfX3NpZ25vKTsKZXh0
ZXJuIGludCBzaWdkZWxzZXQgKHNpZ3NldF90ICpfX3NldCwgaW50IF9fc2lnbm8pOwpleHRlcm4g
aW50IHNpZ2lzbWVtYmVyIChfX2NvbnN0IHNpZ3NldF90ICpfX3NldCwgaW50IF9fc2lnbm8pOwpz
dHJ1Y3Qgc2lnYWN0aW9uCiAgewogICAgdW5pb24KICAgICAgewogICAgICAgIF9fc2lnaGFuZGxl
cl90IHNhX2hhbmRsZXI7CiAgICAgICAgdm9pZCAoKnNhX3NpZ2FjdGlvbikgKGludCwgc2lnaW5m
b190ICosIHZvaWQgKik7CiAgICAgIH0KICAgIF9fc2lnYWN0aW9uX2hhbmRsZXI7CiAgICBfX3Np
Z3NldF90IHNhX21hc2s7CiAgICBpbnQgc2FfZmxhZ3M7CiAgICB2b2lkICgqc2FfcmVzdG9yZXIp
ICh2b2lkKTsKICB9OwpleHRlcm4gaW50IHNpZ3Byb2NtYXNrIChpbnQgX19ob3csIF9fY29uc3Qg
c2lnc2V0X3QgKl9fcmVzdHJpY3QgX19zZXQsCiAgICAgICAgICAgICAgICAgICAgICAgIHNpZ3Nl
dF90ICpfX3Jlc3RyaWN0IF9fb3NldCk7CmV4dGVybiBpbnQgc2lnc3VzcGVuZCAoX19jb25zdCBz
aWdzZXRfdCAqX19zZXQpOwpleHRlcm4gaW50IF9fc2lnYWN0aW9uIChpbnQgX19zaWcsIF9fY29u
c3Qgc3RydWN0IHNpZ2FjdGlvbiAqX19yZXN0cmljdCBfX2FjdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHNpZ2FjdGlvbiAqX19yZXN0cmljdCBfX29hY3QpOwpleHRlcm4gaW50IHNp
Z2FjdGlvbiAoaW50IF9fc2lnLCBfX2NvbnN0IHN0cnVjdCBzaWdhY3Rpb24gKl9fcmVzdHJpY3Qg
X19hY3QsCiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uICpfX3Jlc3RyaWN0
IF9fb2FjdCk7CmV4dGVybiBpbnQgc2lncGVuZGluZyAoc2lnc2V0X3QgKl9fc2V0KTsKZXh0ZXJu
IGludCBzaWd3YWl0IChfX2NvbnN0IHNpZ3NldF90ICpfX3Jlc3RyaWN0IF9fc2V0LCBpbnQgKl9f
cmVzdHJpY3QgX19zaWcpCiAgICAgICAgICAgIDsKZXh0ZXJuIGludCBzaWd3YWl0aW5mbyAoX19j
b25zdCBzaWdzZXRfdCAqX19yZXN0cmljdCBfX3NldCwKICAgICAgICAgICAgICAgICAgICAgICAg
c2lnaW5mb190ICpfX3Jlc3RyaWN0IF9faW5mbyk7CmV4dGVybiBpbnQgc2lndGltZWR3YWl0IChf
X2NvbnN0IHNpZ3NldF90ICpfX3Jlc3RyaWN0IF9fc2V0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgc2lnaW5mb190ICpfX3Jlc3RyaWN0IF9faW5mbywKICAgICAgICAgICAgICAgICAgICAgICAg
IF9fY29uc3Qgc3RydWN0IHRpbWVzcGVjICpfX3Jlc3RyaWN0IF9fdGltZW91dCkKICAgICAgICAg
ICAgOwpleHRlcm4gaW50IHNpZ3F1ZXVlIChfX3BpZF90IF9fcGlkLCBpbnQgX19zaWcsIF9fY29u
c3QgdW5pb24gc2lndmFsIF9fdmFsKQogICAgICAgICAgICA7CmV4dGVybiBfX2NvbnN0IGNoYXIg
Kl9fY29uc3QgX3N5c19zaWdsaXN0WzY0XTsKZXh0ZXJuIF9fY29uc3QgY2hhciAqX19jb25zdCBz
eXNfc2lnbGlzdFs2NF07CnN0cnVjdCBzaWd2ZWMKICB7CiAgICBfX3NpZ2hhbmRsZXJfdCBzdl9o
YW5kbGVyOwogICAgaW50IHN2X21hc2s7CiAgICBpbnQgc3ZfZmxhZ3M7CiAgfTsKZXh0ZXJuIGlu
dCBzaWd2ZWMgKGludCBfX3NpZywgX19jb25zdCBzdHJ1Y3Qgc2lndmVjICpfX3ZlYywKICAgICAg
ICAgICAgICAgICAgIHN0cnVjdCBzaWd2ZWMgKl9fb3ZlYyk7CnN0cnVjdCBzdGF0OwpzdHJ1Y3Qg
c2lnYWN0aW9uOwpzdHJ1Y3QgdGltZXZhbDsKc3RydWN0IHRpbWV6b25lOwpleHRlcm4gaW50IGNo
a3JfcmVhZChpbnQgZmQsdm9pZCAqIGJ1ZixzaXplX3QgbmJ5dGVzKTsKZXh0ZXJuIGludCBjaGty
X3dyaXRlKGludCBmZCxjb25zdCB2b2lkICogYnVmLHNpemVfdCBuKTsKZXh0ZXJuIGludCBjaGty
X2Nsb3NlKGludCBmZCk7CmV4dGVybiBsb25nIGNoa3JfbHNlZWsoaW50IGZkLGxvbmcgb2Zmc2V0
LGludCB3aGVuY2UpOwpleHRlcm4gaW50IGNoa3JfdW5saW5rKGNvbnN0IGNoYXIgKm5hbWUpOwpl
eHRlcm4gcGlkX3QgY2hrcl9nZXRwaWQgKHZvaWQpOwpleHRlcm4gaW50IGNoa3Jfa2lsbChwaWRf
dCBwaWQsaW50IHNpZyk7CmV4dGVybiBpbnQgY2hrcl9vcGVuIChjb25zdCBjaGFyICpmaWxlbmFt
ZSwgaW50IGZsYWdzLCAuLi4pOwpleHRlcm4gaW50IGNoa3JfZmNudGwgKGludCBmaWxlZGVzLCBp
bnQgY21kLCAuLi4pOwpleHRlcm4gaW50IGNoa3Jfc2lnYWN0aW9uKGludCBzaWcsIGNvbnN0IHN0
cnVjdCBzaWdhY3Rpb24qLCBzdHJ1Y3Qgc2lnYWN0aW9uKik7CmV4dGVybiBpbnQgY2hrcl9zdGF0
IChjb25zdCBjaGFyICpmaWxlbmFtZSwgc3RydWN0IHN0YXQgKmJ1Zik7CmV4dGVybiB2b2lkIGNo
a3JfX2V4aXQoaW50IHN0YXR1cyk7CmV4dGVybiB2b2lkKiBjaGtyX3NicmsgKGludCBpbmNyZW1l
bnQpOwpleHRlcm4gaW50IGNoa3JfbGluayhjb25zdCBjaGFyICpmaWxlbmFtbmUsY29uc3QgY2hh
ciAqdG8pOwpleHRlcm4gaW50IGNoa3JfZHVwMihpbnQgZmQxLGludCBmZDIpOwpleHRlcm4gaW50
IGNoa3Jfc2lncHJvY21hc2soaW50IGhvdyxjb25zdCBzaWdzZXRfdCAqc2V0LHNpZ3NldF90ICpv
bGRzZXQpOwpleHRlcm4gaW50IGNoa3Jfc2lncGVuZGluZyhzaWdzZXRfdCAqc2V0KTsKZXh0ZXJu
IGludCBjaGtyX2Z0cnVuY2F0ZShpbnQgZmQsb2ZmX3QgbGVuZ3RoKTsKZXh0ZXJuIGludCBjaGty
X2dldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHAsc3RydWN0IHRpbWV6b25lICp0eik7CmV4
dGVybiBsb25nIGNoa3Jfc3lzY29uZihpbnQgYXJnKTsKZXh0ZXJuIHZvaWQgKmNoa3JfbW1hcCh2
b2lkICphZGRyLHNpemVfdCBsZW4saW50IHByb3QsaW50IGZsYWdzLGludCBmZCxvZmZfdCBvZmYp
OwpleHRlcm4gaW50IGNoa3JfbXVubWFwKHZvaWQgKmFkZHIsc2l6ZV90IGxlbik7CmV4dGVybiBj
aGFyICpjaGtyX2dldGVudiAoY29uc3QgY2hhciAqbmFtZSk7CmV4dGVybiBjaGFyKiBjaGtyX21r
dGVtcCAoY2hhciAqX3RlbXBsYXRlKTsKZXh0ZXJuIGNoYXIgKmNoa3JfZ2V0Y3dkIChjaGFyICpi
dWYsIHNpemVfdCBzaXplKTsKZXh0ZXJuIHZvaWQgY2hrcl9xc29ydCAodm9pZCAqIGJhc2UsIHNp
emVfdCBubWVtYiwgc2l6ZV90IHNpemUsCiAgICAgICAgICAgICAgICBpbnQgKCpjb21wYXIpKGNv
bnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSk7CmV4dGVybiB2b2lkICphbGxvY2EgKHNpemVfdCBf
X3NpemUpOwpleHRlcm4gaW50IGVycm5vOwpleHRlcm4gaW50ICpfX2Vycm5vX2xvY2F0aW9uICh2
b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7CnR5cGVkZWYgX19idWlsdGluX3ZhX2xp
c3QgX19nbnVjX3ZhX2xpc3Q7CnR5cGVkZWYgX19nbnVjX3ZhX2xpc3QgdmFfbGlzdDsKaW50IGNo
a3JfdnByaW50ZiAoY29uc3QgY2hhciAqbWVzc2FnZSwgdmFfbGlzdCBwYXJhbSkgX19hdHRyaWJ1
dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDApKSk7CnZvaWQgY2hrcl9wcmludGYgKGNvbnN0IGNo
YXIgKm1lc3NhZ2UsIC4uLikgX19hdHRyaWJ1dGVfXygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7
CnZvaWQgY2hrcl9oZWFkZXIgKGNvbnN0IGNoYXIgKm1lc3NhZ2UsIC4uLikgX19hdHRyaWJ1dGVf
XygoZm9ybWF0IChwcmludGYsIDEsIDIpKSk7CmludCBjaGtyX3B1dHMgKGNvbnN0IGNoYXIgKnN0
cik7CmV4dGVybiBpbnQgKCpfX19jaGtyX3RyYXApIChjb25zdCBjaGFyICptZXNzYWdlKTsKdm9p
ZCBfc2lnX2p1bXBfdG8gKHZvaWQgKiwgaW50ICopOwpleHRlcm4gdm9pZCAqY2hrcl9tbWFwKHZv
aWQgKl9fYWRkcixzaXplX3QgX19sZW4saW50IF9fcHJvdCxpbnQgX19mbGFncyxpbnQgX19mZCxf
X29mZl90IF9fb2Zmc2V0KTsKZXh0ZXJuIGludCBjaGtyX211bm1hcCh2b2lkICpfX2FkZHIsc2l6
ZV90IF9fbGVuKTsKZXh0ZXJuIGludCBtcHJvdGVjdCAodm9pZCAqX19hZGRyLCBzaXplX3QgX19s
ZW4sIGludCBfX3Byb3QpOwpleHRlcm4gaW50IG1zeW5jICh2b2lkICpfX2FkZHIsIHNpemVfdCBf
X2xlbiwgaW50IF9fZmxhZ3MpOwpleHRlcm4gaW50IG1hZHZpc2UgKHZvaWQgKl9fYWRkciwgc2l6
ZV90IF9fbGVuLCBpbnQgX19hZHZpY2UpOwpleHRlcm4gaW50IG1sb2NrIChfX2NvbnN0IHZvaWQg
Kl9fYWRkciwgc2l6ZV90IF9fbGVuKTsKZXh0ZXJuIGludCBtdW5sb2NrIChfX2NvbnN0IHZvaWQg
Kl9fYWRkciwgc2l6ZV90IF9fbGVuKTsKZXh0ZXJuIGludCBtbG9ja2FsbCAoaW50IF9fZmxhZ3Mp
OwpleHRlcm4gaW50IG11bmxvY2thbGwgKHZvaWQpOwpleHRlcm4gdm9pZCAqbXJlbWFwICh2b2lk
ICpfX2FkZHIsIHNpemVfdCBfX29sZF9sZW4sIHNpemVfdCBfX25ld19sZW4sCiAgICAgICAgICAg
ICAgICAgICAgIGludCBfX21heV9tb3ZlKTsKZXh0ZXJuIGludCBtaW5jb3JlICh2b2lkICpfX3N0
YXJ0LCBzaXplX3QgX19sZW4sIHVuc2lnbmVkIGNoYXIgKl9fdmVjKTsKZXh0ZXJuIHVuc2lnbmVk
IGludCBiZV9yZWRfem9uZTsKZXh0ZXJuIHVuc2lnbmVkIGludCBhZl9yZWRfem9uZTsKZXh0ZXJu
IHVuc2lnbmVkIGludCBieXRlc19wZXJfc3RhdGU7CnN0cnVjdCBvYmplY3QKICB7CiAgICBjaGFy
ICpwYXRoOwogICAgY2hhciAqbmFtZTsKICAgIHVpbnQgb3JnOwogICAgdWludCBlbmQ7CiAgICB1
aW50IHJpZ2h0czsKICAgIHN0cnVjdCBvYmplY3QgKm5leHQ7CiAgfTsKZXh0ZXJuIHN0cnVjdCBv
YmplY3QgKm9iamVjdHM7CnZvaWQgY2hrcl9nZXRfaGlzdG9yeSAodm9pZCAqICpwdHIsIGludCBm
b3JnZXQsIGludCBudW0pOwp2b2lkIGNoa3JfaW5pdGlhbGl6ZSAodm9pZCk7CnZvaWQgc2VhcmNo
X3N0YWNrICh2b2lkKTsKdm9pZCBzZWFyY2hfcmVnaXN0ZXIgKHZvaWQpOwp2b2lkIGNoa3JfYWRk
cmVzcyAodm9pZCAqIHB0ciwgaW50IHN1cmUpOwpleHRlcm4gdm9pZCBjaGtyX2luaXRfbWFjaGlu
ZSAoaW50ICphcmdjLCBjaGFyICphcmd2W10sIGNoYXIgKmVudnBbXSk7CmV4dGVybiB2b2lkIGlu
aXRfbWFpbl9vYmplY3QgKGludCBsaW5rZWQsIGNoYXIgKmFyZ3YwLCBpbnQgbmxpYnMsIGNoYXIg
KipsaWJzKTsKZXh0ZXJuIHZvaWQgX19fY2hrcl9pbml0X2Noa3IgKGludCBsaW5rZWQsIGludCBu
bGlicywgY2hhciAqKmxpYnMsIGludCBhcmdjLCBjaGFyICphcmd2W10sIGNoYXIgKmVudnBbXSk7
CmV4dGVybiB2b2lkIGluaXRfbW9yZWNvcmUgKHZvaWQpOwp2b2lkIGNoa3JfZmluZF9leGVjdXRh
YmxlIChjb25zdCBjaGFyICpmaWxlKTsKdm9pZCBjaGtyX2xvYWRfc3ltdGFiICh2b2lkKTsKdm9p
ZCBjaGtyX3Nob3dfYWRkciAodm9pZCAqIHB0cik7CmV4dGVybiBpbnQgc2FtZV9oaXN0b3J5IChj
aGFyICoqZnVuY3MsIGludCBuYnJfZnVuY3MpOwpleHRlcm4gdm9pZCAqIGtub3duX3N0YWNrX2xp
bWl0OwpleHRlcm4gaW50IGlzX3RleHRfd3JpdGFibGU7CmV4dGVybiB1bnNpZ25lZCBpbnQgbnVs
bF9wb2ludGVyX3pvbmU7CnZvaWQgY2hrcl9zZXRfcmlnaHQgKGNvbnN0IHZvaWQgKiBwdHIsIHNp
emVfdCBsZW4sIHVuc2lnbmVkIGNoYXIgcmlnaHQpOwp2b2lkIGNoa3JfY2hlY2tfYWRkciAoY29u
c3Qgdm9pZCAqIHB0ciwgc2l6ZV90IGxlbiwgdW5zaWduZWQgY2hhciByaWdodCk7CnZvaWQgY2hr
cl9jaGVja19leGVjIChjb25zdCB2b2lkICogcHRyKTsKdm9pZCBjaGtyX2NoZWNrX3N0ciAoY29u
c3Qgdm9pZCAqIHB0ciwgdW5zaWduZWQgY2hhciByaWdodCk7CnZvaWQgY2hrcl9jaGVja19hbGln
biAoY29uc3Qgdm9pZCAqIHB0ciwgc2l6ZV90IGFsaWduLCBzaXplX3Qgc2l6ZSk7CnZvaWQgY2hr
cl9jb3B5X2JpdG1hcCAodm9pZCAqIGRlc3QsIHZvaWQgKiBzcmMsIHNpemVfdCBsZW4pOwp2b2lk
IGNoa3Jfc3RhY2tfcG9pbnRlciAodm9pZCAqIHNwKTsKdm9pZCBjaGtyX2Fzc2VydF9ub3RfcmVk
X3pvbmUgKGNvbnN0IHZvaWQgKiBwdHIsIHNpemVfdCBsZW4pOwp2b2lkIHN0dWJzX2Noa3Jfc2V0
X3JpZ2h0IChjb25zdCB2b2lkICogcHRyLCBzaXplX3QgbGVuLCB1bnNpZ25lZCBjaGFyIHJpZ2h0
KTsKaW50IHN0dWJzX2Noa3JfY2hlY2tfYWRkciAoY29uc3Qgdm9pZCAqIHB0ciwgc2l6ZV90IGxl
biwgdW5zaWduZWQgY2hhciByaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciAqbWVzKTsKaW50IHN0dWJzX2Noa3JfY2hlY2tfZXhlYyAoY29uc3Qgdm9pZCAqIHB0ciwg
Y29uc3QgY2hhciAqbWVzKTsKaW50IHN0dWJzX2Noa3JfY2hlY2tfc3RyIChjb25zdCB2b2lkICog
cHRyLCB1bnNpZ25lZCBjaGFyIHJpZ2h0LCBjb25zdCBjaGFyICptZXMpOwppbnQgc3R1YnNfY2hr
cl9jb3B5X2JpdG1hcCAodm9pZCAqIGRlc3QsIHZvaWQgKiBzcmMsIHNpemVfdCBsZW4sIGNvbnN0
IGNoYXIgKm1lcyk7CnZvaWQgc3R1YnNfY2hrcl9hc3NlcnRfbm90X3JlZF96b25lIChjb25zdCB2
b2lkICogcHRyLCBzaXplX3QgbGVuKTsKdm9pZCBkaXNwbGF5X3Byb2ZpbGUgKHZvaWQpOwpleHRl
cm4gaW50IHByb2ZpbGVfZmxhZzsKZXh0ZXJuIHN0cnVjdCB0aW1ldmFsIHR2X2dhcmJhZ2U7CnZv
aWQgY2hrcl9hYm9ydCAodm9pZCkgX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKTsKaW50IGNoa3Jf
cmVwb3J0IChpbnQgaSk7CmludCBjaGtyX3BlcnJvciAoaW50IGUpOwppbnQgY2hrcl9kaXNwX2Nh
bGxfY2hhaW4gKHZvaWQpOwppbnQgY2hrcl9nZXRfbmJyX3JlcG9ydCAodm9pZCk7CmludCBnZXRf
ZXJyb3JfdHlwZV9ieV9uYW1lIChjb25zdCBjaGFyICpuYW1lKTsKaW50IHBhcnNlX2Rpc2FibGUg
KGNvbnN0IGNoYXIgKnN0cik7CmludCByZWdpc3Rlcl9kaXNhYmxlX3JhbmdlICh1aW50IGxvdywg
dWludCBoaWdoKTsKY2hhciAqZ2V0X2Vycm9yX25hbWVfYnlfbnVtYmVyIChpbnQgbnVtKTsKdm9p
ZCByZWNvcmRfc3VwcHJlc3MgKGludCB0eXBlLCBpbnQgbl9mdW5jcyk7CmludCBwYXJzZV9zdXBw
cmVzcyAoY2hhciAqc3RyKTsKaW50IGdldF9tYXhfbmJyX2Z1bmNzX3N1cHByZXNzZWQgKGludCB0
eXBlKTsKaW50IGlzX2Vycm9yX2Rpc2FibGUgKGludCBlKTsKdm9pZCBkaXNhYmxlX2Vycm9yIChp
bnQgZSk7CmludCBjaGtyX2dldF9leGl0X3N0YXR1cyAoaW50IHN0YXR1cyk7CmV4dGVybiBpbnQg
Y2hrcl9lcnJubzsKY2hhciAqY29weV9vZl9leGVjX2ZpbGUgKGNoYXIgKnMpOwpleHRlcm4gaW50
IGNoa3JfaXNfaW5pdDsKdm9pZCBjaGtyX2RvX2VuZCAodm9pZCk7CmludCBhdG9kIChjb25zdCBj
aGFyICpjKTsKdm9pZCBjaGVja19vdXRwdXRfc3BlYyAodm9pZCk7CnZvaWQgX19jaGtyX3BhdXNl
ICh2b2lkKTsKdm9pZCBjaGtyX2NsZWFuX2FmdGVyX2ZvcmsgKHZvaWQpOwp2b2lkIGNoa3JfY2xl
YW5fYmVmb3JlX2V4ZWMgKHZvaWQpOwpleHRlcm4gaW50IGNoa3JfcHJvZ19mZDsKZXh0ZXJuIGlu
dCBmbGFnX3ZlcmJvc2U7CmV4dGVybiBpbnQgZmxhZ19hbm5vdGF0ZTsKZXh0ZXJuIGludCBmbGFn
X3dhcm5fb25jZTsKZXh0ZXJuIGludCBmbGFnX2V4aXRfc3RhdHVzOwpleHRlcm4gdm9pZCAqIGxv
d19hZGRyX2hlYXA7CmV4dGVybiB2b2lkICogaGlnaF9hZGRyX2hlYXA7CnZvaWQgc2V0X21hbGxv
YzBfYmVoYXZpb3IgKGNvbnN0IGNoYXIgKm9wdCk7CnZvaWQgKiBzeXNfbWFsbG9jIChzaXplX3Qg
cmVhbF9zaXplKTsKdm9pZCBzeXNfZnJlZSAodm9pZCAqIHB0cik7CnZvaWQgKiBzeXNfcmVhbGxv
YyAodm9pZCAqIHB0ciwgc2l6ZV90IHNpemUpOwp2b2lkICogc3lzX2R1cGFsbG9jICh2b2lkICog
cHRyKTsKZXh0ZXJuIHBpZF90IG15X3BpZDsKZXh0ZXJuIGNoYXIgbXlfcGlkX2NbNl07CmV4dGVy
biB1aW50IGFnZWRfcXVldWVfbGVuZ3RoOwpleHRlcm4gdWludCB0cmFjZV9tYWxsb2NfZmxhZzsK
dm9pZCBpbml0X2ZkcyAodm9pZCk7CmludCBmZF91c2VkX2J5X3Byb2cgKGludCBmZCk7CmludCBm
ZF9yZXR1cm5lZF9ieV9zeXN0ZW0gKGludCBmZCk7CmludCBmZF9jbG9zZWQgKGludCBmZCk7Cmlu
dCBmZF9kdXBlZCAoaW50IGZkcmVzLCBpbnQgZmRkKTsKaW50IGZkX2FsbG9jX3Jlc2VydmVkIChj
aGFyICpjb21tZW50KTsKdm9pZCBmZF9mcmVlX3Jlc2VydmVkIChpbnQgZmQpOwpleHRlcm4gaW50
IGNoZWNrZXJfZGF0YV9iZWdpbjsKZXh0ZXJuIHZvaWQgY2hlY2tlcl90ZXh0X2JlZ2luICh2b2lk
KTsKZXh0ZXJuIGludCBjaGVja2VyX2RhdGFfZW5kOwpleHRlcm4gdm9pZCBjaGVja2VyX3RleHRf
ZW5kICh2b2lkKTsKZXh0ZXJuIGludCBjaGVja2VyX2RhdGFfc3R1YnNfYmVnaW47CmV4dGVybiB2
b2lkIGNoZWNrZXJfdGV4dF9zdHVic19iZWdpbiAodm9pZCk7CmV4dGVybiBpbnQgY2hlY2tlcl9k
YXRhX3N0dWJzX2VuZDsKZXh0ZXJuIHZvaWQgY2hlY2tlcl90ZXh0X3N0dWJzX2VuZCAodm9pZCk7
CmV4dGVybiBpbnQgY2hrcl9pbl9jaGVja2VyOwpleHRlcm4gaW50IGNoa3Jfc2lnX2NhdGNoZWQ7
CmV4dGVybiB2b2lkIGNoa3Jfc2VuZF9kZWxheWVkX3NpZ25hbHMgKHZvaWQpOwpleHRlcm4gaW50
IHVzZXJfc2lnYWN0aW9uIChpbnQgc2lnLCBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9uICphY3QsIHN0
cnVjdCBzaWdhY3Rpb24gKm9sZGFjdCk7CnZvaWQgcGFyc2Vfc2lnbmFsX3dhcm4gKGludCBmbGFn
LCBjaGFyICpuYW1lKTsKdm9pZCBzYXZlX3NpZ25hbHMgKHZvaWQpOwp2b2lkIGRpc3BfZGF0ZSAo
dm9pZCk7CnN0cnVjdCBtZGVzYzsKaW50IF9fY2hrcl9yZWFkX2JpdG1hcCAoY29uc3Qgdm9pZCAq
IHB0ciwgdW5zaWduZWQgY2hhciAqYm0sIHNpemVfdCBsZW4pOwppbnQgX19jaGtyX3dyaXRlX2Jp
dG1hcCAoY29uc3Qgdm9pZCAqIHB0ciwgdW5zaWduZWQgY2hhciAqYm0sIHNpemVfdCBsZW4pOwp2
b2lkIF9fY2hrcl9kaXNwX21hcCAodm9pZCk7CnZvaWQgX19jaGtyX2Rpc3BfcmlnaHQgKGNvbnN0
IHZvaWQgKiBwdHIsIHNpemVfdCBsZW4pOwp2b2lkIF9fY2hrcl9jaGVja19tZGVzYyAoc3RydWN0
IG1kZXNjICptZHApOwp2b2lkIF9fY2hrcl9jaGVja19pbnRlcm4gKHZvaWQpOwp2b2lkIF9fY2hr
cl9kaXNwX2hlYXBzICh2b2lkKTsKdm9pZCBfX2Noa3JfZGlzcF9oZWFwZ3JhcGggKHN0cnVjdCBt
ZGVzYyAqbWRwKTsKdm9pZCBfX2Noa3JfZGlzcF9zdGF0aXN0aWNzIChzdHJ1Y3QgbWRlc2MgKm1k
cCk7CnZvaWQgX19jaGtyX2R1bXBfbWhlYXAgKHN0cnVjdCBtZGVzYyAqbWRwKTsKdm9pZCBfX2No
a3JfZHVtcF9oZWFwICh2b2lkKTsKdm9pZCBfX2Noa3JfZHVtcF9mcmVlIChzdHJ1Y3QgbWRlc2Mg
Km1kcCk7CnZvaWQgX19jaGtyX2R1bXBfYmxvY2sgKHZvaWQgKiBibG9jayk7CnZvaWQgX19jaGty
X2Rpc3Bfc2hsaWJzICh2b2lkKTsKdm9pZCBfX2Noa3JfZGlzcF9zaWdpbmZvICh2b2lkKTsKdm9p
ZCBfX2Noa3JfZGlzcF9mZCAodm9pZCk7CnZvaWQgX19jaGtyX2R1bXBfc3ltdGFiICh2b2lkKTsK
dm9pZCBfX2Noa3JfZHVtcF9zYnVzeSAodm9pZCk7CnZvaWQgX19jaGtyX2dhcmJhZ2VfZGV0ZWN0
b3IgKHZvaWQpOwp2b2lkIF9fY2hrcl9kaXNwX2ludXNlICh2b2lkKTsKdm9pZCBfX2Noa3JfZXZv
bF9kZXRlY3RvciAodm9pZCk7CnZvaWQgX19jaGtyX2NsZWFyX2xlYWtzICh2b2lkKTsKdm9pZCBf
X2Noa3JfZXZvbF9pbnVzZSAodm9pZCk7CnZvaWQgX19jaGtyX2NsZWFyX2ludXNlICh2b2lkKTsK
dm9pZCBfX2Noa3JfZHVtcF9zdXBwcmVzcyAodm9pZCk7CmV4dGVybiB2b2lkIHJlbW92ZV9tbWFw
ICh2b2lkICogYWRkciwgdWludCBsZW4pOwpleHRlcm4gdm9pZCBuZXdfc2VnbW1hcCAodm9pZCAq
IGFkZHIsIHVpbnQgbGVuLCBpbnQgcHJvdCwgaW50IGZsYWdzLCBpbnQgZmlsZWRlcywgdWludCBv
ZmYpOwpleHRlcm4gdm9pZCBzZWdfbXByb3RlY3QgKHZvaWQgKiBhZGRyLCB1aW50IGxlbiwgaW50
IHByb3QpOwpleHRlcm4gdm9pZCBjaGtyX25ld19zZWdzaG0gKGludCBzaG1pZCwgdm9pZCAqIGFk
ZHIsIGludCBmbGFncyk7CmV4dGVybiB2b2lkIHJlbW92ZV9zaG0gKHZvaWQgKiBhZGRyKTsKY2hh
ciAqZmluZF9ibWJhc2UgKHZvaWQgKiBiYXNlKTsKdHlwZWRlZiBpbnQgcHRyZGlmZl90Owp0eXBl
ZGVmIGxvbmcgaW50IHdjaGFyX3Q7CnN0cnVjdCBtZGVzYzsKZXh0ZXJuIHZvaWQgKiBtYWxsb2Mg
KHNpemVfdCBfX3NpemUpOwpleHRlcm4gdm9pZCAqIG1hbGxvY18xIChzdHJ1Y3QgbWRlc2MgKm1k
cCwgc2l6ZV90IF9fc2l6ZSk7CmV4dGVybiB2b2lkICogcmVhbGxvYyAodm9pZCAqIF9fcHRyLCBz
aXplX3QgX19zaXplKTsKZXh0ZXJuIHZvaWQgKiBjYWxsb2MgKHNpemVfdCBfX25tZW1iLCBzaXpl
X3QgX19zaXplKTsKZXh0ZXJuIHZvaWQgZnJlZSAodm9pZCAqIF9fcHRyKTsKZXh0ZXJuIHZvaWQg
ZnJlZV8xIChzdHJ1Y3QgbWRlc2MgKm1kcCwgdm9pZCAqIF9fcHRyKTsKZXh0ZXJuIHZvaWQgKiBt
ZW1hbGlnbiAoc2l6ZV90IF9fYWxpZ25tZW50LCBzaXplX3QgX19zaXplKTsKZXh0ZXJuIHZvaWQg
KiB2YWxsb2MgKHNpemVfdCBfX3NpemUpOwp2b2lkICogc2JyayAoaW50IGluY3IpOwpzdHJ1Y3Qg
bWFsbG9jX2hlYWRlcjsKc3RydWN0IG1hbGxvY19oZWFkZXIKewogIHN0cnVjdCBtYWxsb2NfaGVh
ZGVyICpwcmV2OwogIHN0cnVjdCBtYWxsb2NfaGVhZGVyICpuZXh0OwogIHNpemVfdCBzaXplOwog
IHVuc2lnbmVkIGNoYXIgc3RhdGU7CiAgdW5zaWduZWQgY2hhciBnYXJiYWdlX3Q7CiAgdW5zaWdu
ZWQgY2hhciBnX2ZsYWc7CiAgdW5zaWduZWQgY2hhciBzX2RpZmY7CiAgdW5pb24KICAgIHsKICAg
ICAgc3RydWN0CiAgICAgICAgewogICAgICAgICAgc3RydWN0IG1hbGxvY19oZWFkZXIgKnByZXY7
CiAgICAgICAgICBzdHJ1Y3QgbWFsbG9jX2hlYWRlciAqbmV4dDsKICAgICAgICB9IGZyZWU7CiAg
ICAgIHN0cnVjdAogICAgICAgIHsKICAgICAgICAgIHN0cnVjdCBtYWxsb2NfaGVhZGVyICpwcmV2
OwogICAgICAgICAgc3RydWN0IG1hbGxvY19oZWFkZXIgKm5leHQ7CiAgICAgICAgfSBhZ2VkOwog
ICAgICBzdHJ1Y3QKICAgICAgICB7CiAgICAgICAgICB1bmlvbgogICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgc3RydWN0IG1hbGxvY19oZWFkZXIgKmdfcGFyZW50OwogICAgICAgICAgICAgIHVu
c2lnbmVkIGludCBnX251bWJlcjsKICAgICAgICAgICAgfQogICAgICAgICAgZ19saW5rOwogICAg
ICAgICAgaW50IHJlYWxfc2l6ZTsKICAgICAgICB9IGJ1c3k7CiAgICAgIHN0cnVjdAogICAgICAg
IHsKICAgICAgICAgIGludCBwYWRwYWQ7CiAgICAgICAgICBpbnQgcmVhbF9zaXplOwogICAgICAg
IH0gYnJrOwogICAgfSBpbmZvOwp9OwpzdGF0aWMgaW5saW5lIHN0cnVjdCBtYWxsb2NfaGVhZGVy
ICpibG9ja190b19oZWFkZXIgKHZvaWQgKiBwdHIpCnsKICByZXR1cm4gKHN0cnVjdCBtYWxsb2Nf
aGVhZGVyICopIChwdHIgLSAoc2l6ZW9mKHN0cnVjdCBtYWxsb2NfaGVhZGVyKSkgLSBiZV9yZWRf
em9uZSk7Cn0Kc3RhdGljIGlubGluZSB2b2lkICogaGVhZGVyX3RvX2hpc3RvcnkgKHN0cnVjdCBt
YWxsb2NfaGVhZGVyICptaCkKewogIHJldHVybiAoKHZvaWQgKiltaCkgKyAoc2l6ZW9mKHN0cnVj
dCBtYWxsb2NfaGVhZGVyKSkgKyBtaC0+c2l6ZSAtIGFmX3JlZF96b25lOwp9CnN0YXRpYyBpbmxp
bmUgdm9pZCAqIGhlYWRlcl90b19mcmVlX2hpc3RvcnkgKHN0cnVjdCBtYWxsb2NfaGVhZGVyICpt
aCkKewogIHJldHVybiAoKHZvaWQgKiltaCkgKyAoc2l6ZW9mKHN0cnVjdCBtYWxsb2NfaGVhZGVy
KSk7Cn0Kc3RhdGljIF9faW5saW5lX18gdWludAptdXRleF9hdG9taWNfc3dhcCh2b2xhdGlsZSB1
aW50ICpwLCB1aW50IG5ld3ZhbCkKewogIHVpbnQgc2VtdmFsID0gbmV3dmFsOwogIGFzbSBfX3Zv
bGF0aWxlX18gKCJ4Y2hnbCAlMiwgJTBcbiIKICAgICAgICAgICAgICAgICAgICA6ICI9ciIgKHNl
bXZhbCkKICAgICAgICAgICAgICAgICAgICA6ICIwIiAoc2VtdmFsKSwgIm0iICgqcCkKICAgICAg
ICAgICAgICAgICAgICk7CiAgcmV0dXJuIHNlbXZhbDsKfQp2b2lkIF9pbnRlcm5hbF9mcmVlIChz
dHJ1Y3QgbWRlc2MgKm1kcCwgc3RydWN0IG1hbGxvY19oZWFkZXIgKmJsb2NrKTsKc3RydWN0IG1h
bGxvY19oZWFkZXIgKmZpbmRfaGVhZGVyIChzdHJ1Y3QgbWRlc2MgKm1kcCwgY29uc3Qgdm9pZCAq
IHB0ciwgaW50IHNvZnQpOwppbnQgZ2V0X2FnZSAoc3RydWN0IG1kZXNjICptZHAsIHN0cnVjdCBt
YWxsb2NfaGVhZGVyICpibG9jayk7CnZvaWQgZGlzcF9ibG9ja19oaXN0b3J5ICh2b2lkICogKiBw
dHIpOwpzaXplX3QgdGVzdF9tYWxsb2MwIChzaXplX3Qgc2l6ZSwgY2hhciAqaWQpOwpzdHJ1Y3Qg
bWRlc2MgKmZpbmRfbWRlc2MgKGNvbnN0IHZvaWQgKiBwdHIpOwp2b2lkICptb3JlY29yZSAoaW50
IHNpemUpOwpleHRlcm4gaW50IF9fbWFsbG9jX2luaXRpYWxpemVkOwpzdHJ1Y3QgbXN0YXRzCiAg
ewogICAgc2l6ZV90IGJ5dGVzX3RvdGFsOwogICAgc2l6ZV90IGNodW5rc191c2VkOwogICAgc2l6
ZV90IGJ5dGVzX3VzZWQ7CiAgICBzaXplX3QgY2h1bmtzX2ZyZWU7CiAgICBzaXplX3QgYnl0ZXNf
ZnJlZTsKICB9OwpzdHJ1Y3QgYml0bWFwaW5mbwogIHsKICAgICB1bnNpZ25lZCBjaGFyICpiYXNl
OwogICAgIHVuc2lnbmVkIGludCBzaXplOwogICAgIHVuc2lnbmVkIGludCBwYWdlczsKICB9Owpz
dHJ1Y3QgbWRlc2MKewogIGNoYXIgbWFnaWNbOF07CiAgdW5zaWduZWQgaW50IGhlYWRlcnNpemU7
CiAgdW5zaWduZWQgY2hhciB2ZXJzaW9uOwogIHVuc2lnbmVkIGludCBmbGFnczsKICBpbnQgc2F2
ZWRfZXJybm87CiAgdm9pZCAqICgqbW9yZWNvcmUpIChzdHJ1Y3QgbWRlc2MgKiwgaW50KTsKICB2
b2lkICgqYWJvcnRmdW5jKSAodm9pZCk7CiAgdm9pZCAoKm1mcmVlX2hvb2spICh2b2lkICosIHZv
aWQgKik7CiAgdm9pZCAqICgqbW1hbGxvY19ob29rKSAodm9pZCAqLCBzaXplX3QpOwogIHZvaWQg
KiAoKm1yZWFsbG9jX2hvb2spICh2b2lkICosIHZvaWQgKiwgc2l6ZV90KTsKICBzdHJ1Y3QgbWFs
bG9jX2hlYWRlciAqX2hlYXBpbmZvWzIwXTsKICBzdHJ1Y3QgbWFsbG9jX2hlYWRlciAqX2ZpcnN0
YmxvY2s7CiAgc3RydWN0IG1hbGxvY19oZWFkZXIgKl9sYXN0YmxvY2s7CiAgc3RydWN0IG1hbGxv
Y19oZWFkZXIgKl95b3VuZ2VyYmxvY2s7CiAgc3RydWN0IG1hbGxvY19oZWFkZXIgKl9vbGRlcmJs
b2NrOwogIHVuc2lnbmVkIGludCBfYWdlZGJsb2NrOwogIHN0cnVjdCBtc3RhdHMgaGVhcHN0YXRz
OwogIGNoYXIgKmJhc2U7CiAgY2hhciAqYnJlYWt2YWw7CiAgY2hhciAqdG9wOwogIGludCBmZDsK
ICB1aW50IGxvY2s7CiAgdm9pZCAqIGtleXNbMTZdOwogIHN0cnVjdCBtYWxsb2NfaGVhZGVyICoq
YWxsX2J1c3lfYmxvY2tzOwogIHVuc2lnbmVkIGludCBuYnJfYnVzeV9ibG9ja3M7CiAgdW5pb24K
ICAgIHsKICAgICAgc3RydWN0CiAgICAgICAgewogICAgICAgICAgc3RydWN0IG1kZXNjICpuZXh0
X21kZXNjOwogICAgICAgICAgc3RydWN0IG1kZXNjICpwcmV2X21kZXNjOwogICAgICAgICAgdW5z
aWduZWQgaW50IG1hcGluZm87CiAgICAgICAgICBzdHJ1Y3QgYml0bWFwaW5mbyAqYml0bWFwOwog
ICAgICAgICAgdm9pZCAqICpoaXN0b3J5OwogICAgICAgIH0gaW5tZW07CiAgICAgIHN0cnVjdAog
ICAgICAgIHsKICAgICAgICAgIHVuc2lnbmVkIGludCBvZmZfYml0bWFwOwogICAgICAgICAgdW5z
aWduZWQgaW50IGxlbl9iaXRtYXA7CiAgICAgICAgfSBvbmRpc2s7CiAgICB9IGluZm87Cn07CmV4
dGVybiB2b2lkICogbW1hbGxvYyAoc3RydWN0IG1kZXNjICosIHNpemVfdCk7CmV4dGVybiB2b2lk
ICogbXJlYWxsb2MgKHN0cnVjdCBtZGVzYyAqLCB2b2lkICosIHNpemVfdCk7CmV4dGVybiB2b2lk
ICogbWNhbGxvYyAoc3RydWN0IG1kZXNjICosIHNpemVfdCwgc2l6ZV90KTsKZXh0ZXJuIHZvaWQg
bWZyZWUgKHN0cnVjdCBtZGVzYyAqLCB2b2lkICopOwpleHRlcm4gdm9pZCAqIG1tZW1hbGlnbiAo
c3RydWN0IG1kZXNjICosIHNpemVfdCwgc2l6ZV90KTsKZXh0ZXJuIHZvaWQgKiBtdmFsbG9jIChz
dHJ1Y3QgbWRlc2MgKiwgc2l6ZV90KTsKdm9pZCAqIG1tYWxsb2NfZGV0YWNoICh2b2lkICogbWQp
Owp2b2lkICogbW1hbGxvY19hdHRhY2ggKGludCBmZCwgdm9pZCAqIGJhc2VhZGRyKTsKZXh0ZXJu
IGludCBtbWNoZWNrIChzdHJ1Y3QgbWRlc2MgKiwgdm9pZCAoKikgKHZvaWQpKTsKZXh0ZXJuIHN0
cnVjdCBtc3RhdHMgbW1zdGF0cyAoc3RydWN0IG1kZXNjICopOwpleHRlcm4gdm9pZCAoKl9fbWZy
ZWVfaG9vaykgKHZvaWQgKiwgdm9pZCAqKTsKZXh0ZXJuIHZvaWQgKiAoKl9fbW1hbGxvY19ob29r
KSAodm9pZCAqLCBzaXplX3QpOwpleHRlcm4gdm9pZCAqICgqX19tcmVhbGxvY19ob29rKSAodm9p
ZCAqLCB2b2lkICosIHNpemVfdCk7CmV4dGVybiBzdHJ1Y3QgbWRlc2MgKl9fbW1hbGxvY19kZWZh
dWx0X21kcDsKZXh0ZXJuIHN0cnVjdCBtZGVzYyAqX19tbWFsbG9jX3NicmtfaW5pdCAodm9pZCk7
CmV4dGVybiB2b2lkICogX19tbWFsbG9jX21tYXBfbW9yZWNvcmUgKHN0cnVjdCBtZGVzYyAqLCBp
bnQpOwpleHRlcm4gc3RydWN0IG1kZXNjICpfZmlyc3RtZGVzYzsKZXh0ZXJuIHN0cnVjdCBtZGVz
YyAqX2xhc3RtZGVzYzsKZXh0ZXJuIHVpbnQgbWRlc2NfbG9jazsKaW50IG5ld19oZWFwIChpbnQg
YnJrLCBzdHJ1Y3QgbWRlc2MgKm1kcCk7CnZvaWQgcmVtb3ZlX2hlYXAgKGludCBzbG90KTsKZXh0
ZXJuIHVpbnQgbmJyX2ZyZWVfY2FsbHM7CmV4dGVybiB1aW50IG5icl9tYWxsb2NfY2FsbHM7CmV4
dGVybiB1aW50IG5icl9yZWFsbG9jX2NhbGxzOwp1aW50IGdldF90b3RhbF9hZ2VkX3NpemUgKHN0
cnVjdCBtZGVzYyAqbWRwKTsKdWludCBnZXRfdG90YWxfbWVtICh2b2lkKTsKdHlwZWRlZiB1bnNp
Z25lZCBsb25nIGludCBzaG1hdHRfdDsKZXh0ZXJuIGNvbnN0IGNoYXIgKmNoa3JfbWVzc2FnZVtd
Owp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWNoYXI7CmludCBpc190ZXh0X3dyaXRhYmxlOwp0eXBl
ZGVmIGVudW0KICB7CiAgICBTZWdGaW5pc2gsIFNlZ1ZvaWQsIFNlZ1RleHQsIFNlZ05vcm1hbCwK
ICAgIFNlZ1JXLCBTZWdST25seSwgU2VnV09ubHksIFNlZ01tYXAsIFNlZ1NobSwgU2VnUGFnZQog
IH0gTWFwVHlwZTsKc3RydWN0IEJpdE1lbTsKc3RydWN0IEJpdE1lbUluZm87CnN0cnVjdCBNbWFw
aW5mbzsKc3RydWN0IFBhZ2VpbmZvOwpzdHJ1Y3QgU2htaW5mbzsKc3RydWN0IEhlYXBpbmZvOwp0
eXBlZGVmIHN0cnVjdCBNQVBJbmZvCnsKICB2b2lkICogYmFzZTsKICB2b2lkICogcmVhbF9iYXNl
OwogIHVpbnQgbGVuZ3RoOwogIHVjaGFyICpibWJhc2U7CiAgTWFwVHlwZSB0eXBlOwogIGNvbnN0
IGNoYXIgKm5hbWU7CiAgdWludCByaWdodDsKICB2b2lkICgqZWZ1bmMpIChzdHJ1Y3QgQml0TWVt
IGNvbnN0ICpibSwgc3RydWN0IEJpdE1lbUluZm8gKmJtaSk7CiAgaW50ICgqaWRmdW5jKSAoc3Ry
dWN0IEJpdE1lbSBjb25zdCAqYm0sIHN0cnVjdCBCaXRNZW1JbmZvICpibWkpOwogIHVuaW9uCiAg
ewogICAgc3RydWN0IE1tYXBpbmZvICptbWFwaW5mbzsKICAgIHN0cnVjdCBTaG1pbmZvICpzaG1p
bmZvOwogICAgc3RydWN0IEhlYXBpbmZvICpoZWFwaW5mbzsKICAgIHN0cnVjdCBQYWdlaW5mbyAq
cGFnZWluZm87CiAgfSBpbmZvOwogIHVpbnQgYWRkcmVzc2VkOwp9IE1hcEluZm87CnN0cnVjdCBN
bWFwaW5mbwp7CiAgdWludCByZWFsX2xlbmd0aDsKICB2b2lkICpoaXN0b3J5Owp9OwpzdHJ1Y3Qg
Qml0TWVtSW5mbwp7CiAgdm9pZCAqIHB0cjsKICBpbnQgYXJxOwogIGludCByZW1haW47CiAgaW50
IHNpemU7CiAgaW50IHZhbDsKfTsKc3RhdGljIE1hcEluZm8gKkZtYXBpbmZvOwpzdGF0aWMgdWlu
dCBuYnJfbWFwaW5mbzsKc3RhdGljIHVpbnQgbWF4X21hcGluZm87CnN0YXRpYyBNYXBJbmZvICoq
bWFwaW5mbzsKc3RhdGljIE1hcEluZm8gbnVsbF9tYXBpbmZvID0KICAgICAgICAgICAgICAgIHso
dm9pZCAqKSAwLCAodm9pZCAqKSAwLCAwLCAodWNoYXIgKikgMCwgU2VnRmluaXNoLCAibm90aGlu
Z25lc3Mgc2VnbWVudCJ9Owp1bnNpZ25lZCBpbnQgYnl0ZXNfcGVyX3N0YXRlID0gMTsKdW5zaWdu
ZWQgaW50IGJ5dGVzX3Blcl9zdGF0ZV9yb3VuZDsKc3RhdGljIGludCBsb2dfYnl0ZXNfcGVyX3N0
YXRlID0gMDsKc3RhdGljIGludCBieXRlc19wZXJfYmJtX3JvdW5kOwpzdGF0aWMgaW50IGJ5dGVz
X3Blcl9iYm07CnN0YXRpYyBpbnQgbG9nX2J5dGVzX3Blcl9iYm07CnZvaWQgKiBrbm93bl9zdGFj
a19saW1pdDsKdm9pZCAqIHN0YWNrX2JpdG1hcHBlZDsKc3RhdGljIHZvaWQgYWRqdXN0X2JtICh2
b2lkKTsKdm9pZCBhZGp1c3Rfc3RhY2tiaXRtYXAgKHZvaWQgKiBwdHIpOwp2b2lkIGFkanVzdF9i
bV93aGVuX3N0YWNrX3JlZHVjZSAodm9pZCk7CnN0cnVjdCBCaXRNZW0KewogIHVpbnQgc2VnX29m
ZnNldDsKICB1aW50IGJtX29mZnNldDsKICB1aW50IGJpdF9vZmZzZXQ7CiAgdWludCBsZW5ndGg7
CiAgTWFwSW5mbyAqaW5mbzsKfTsKc3RhdGljIHZvaWQKU2V0Qml0TWVtIChjb25zdCB2b2lkICog
YWRkciwgc3RydWN0IEJpdE1lbSAqYml0bWVtKQp7CiAgcmVnaXN0ZXIgTWFwSW5mbyAqdG1waW5m
byA9IEZtYXBpbmZvOwogIGtub3duX3N0YWNrX2xpbWl0ID0gX19idWlsdGluX2ZyYW1lX2FkZHJl
c3MoMSk7CiAgaWYgKGtub3duX3N0YWNrX2xpbWl0ICE9IHN0YWNrX2JpdG1hcHBlZCkKICAgIHsK
ICAgICAgaWYgKGtub3duX3N0YWNrX2xpbWl0IDwgc3RhY2tfYml0bWFwcGVkKQogICAgICAgIGFk
anVzdF9ibSAoKTsKICAgICAgZWxzZQogICAgICAgIGFkanVzdF9ibV93aGVuX3N0YWNrX3JlZHVj
ZSgpOwogICAgfQogIHdoaWxlICh0bXBpbmZvLT50eXBlICE9IFNlZ0ZpbmlzaCkKICAgIHsKICAg
ICAgaWYgKCEoYWRkciA+PSB0bXBpbmZvLT5yZWFsX2Jhc2UKICAgICAgICAgICYmIGFkZHIgPCAo
dG1waW5mby0+YmFzZSArIHRtcGluZm8tPmxlbmd0aCkpKQogICAgICAgIHsKICAgICAgICAgIHRt
cGluZm8rKzsKICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgYml0bWVtLT5zZWdf
b2Zmc2V0ID0gYWRkciAtIHRtcGluZm8tPmJhc2U7CiAgICAgIGJpdG1lbS0+bGVuZ3RoID0gdG1w
aW5mby0+bGVuZ3RoIC0gYml0bWVtLT5zZWdfb2Zmc2V0OwogICAgICBiaXRtZW0tPmJpdF9vZmZz
ZXQgPQogICAgICAgIChiaXRtZW0tPnNlZ19vZmZzZXQgJiBieXRlc19wZXJfYmJtX3JvdW5kKSA+
PiBsb2dfYnl0ZXNfcGVyX3N0YXRlOwogICAgICBiaXRtZW0tPmJtX29mZnNldCA9IGJpdG1lbS0+
c2VnX29mZnNldCA+PiBsb2dfYnl0ZXNfcGVyX2JibTsKICAgICAgYml0bWVtLT5pbmZvID0gdG1w
aW5mbzsKICAgICAgdG1waW5mby0+YWRkcmVzc2VkKys7CiAgICAgIHJldHVybjsKICAgIH0KICBi
aXRtZW0tPmluZm8gPSAmbnVsbF9tYXBpbmZvOwogIHJldHVybjsKfQo=

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]