From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25691 invoked by alias); 17 Jul 2005 08:13:01 -0000 Mailing-List: contact insight-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: insight-prs-owner@sourceware.org Received: (qmail 25672 invoked by uid 71); 17 Jul 2005 08:13:01 -0000 Resent-Date: 17 Jul 2005 08:13:01 -0000 Resent-Message-ID: <20050717081301.25671.qmail@sourceware.org> Resent-From: insight-gnats@sources.redhat.com (GNATS Filer) Resent-To: nobody@sources.redhat.com Resent-Cc: insight-prs@sources.redhat.com Resent-Reply-To: insight-gnats@sources.redhat.com, vladakk@abanka.co.yu Received: (qmail 25150 invoked by uid 48); 17 Jul 2005 08:09:57 -0000 Message-Id: <20050717080957.25148.qmail@sourceware.org> Date: Sun, 17 Jul 2005 08:13:00 -0000 From: vladakk@abanka.co.yu Reply-To: vladakk@abanka.co.yu To: insight-gnats@sources.redhat.com X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: insight/270: PDCurses-2.6 application 'Program received signal SIGPIPE. Broken pipe' X-SW-Source: 2005-q3/txt/msg00003.txt.bz2 List-Id: >Number: 270 >Category: insight >Synopsis: PDCurses-2.6 application 'Program received signal SIGPIPE. Broken pipe' >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sun Jul 17 08:13:00 UTC 2005 >Closed-Date: >Last-Modified: >Originator: vladakk@abanka.co.yu >Release: unknown-1.0 >Organization: >Environment: Suse 9.3 Linux vladakk 2.6.11.4-21.7-default #1 Thu Jun 2 14:23:14 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux GNU gdb 6.3.50 2005.07.17-cvs >Description: PDCurses (X version of curses) forked client for X functions and first clent call failed. Parent said Broken pipe. Program works fine out of insight. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="insight.report" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="insight.report" IEJhY2t0cmFjZToKCgogc3RhdGljIHZvaWQgUHV0VGl0bGUoIFdpblR5cGUgVywgVVNIT1JUIG1v ZGUsIFVTSE9SVCByb3csIGNoYXIgKnMsIFVTSE9SVCB0bCApIHsKIAk2NjUJCiAJNjY2CSAgcmVn aXN0ZXIgVVNIT1JUIGk7CiAJNjY3CQotCTY2OAkgIHN3aXRjaCAoIG1vZGUgKSB7CiAJNjY5CSAg ICBjYXNlIExlZnRVcHBlclRpdGxlIDoKIAk2NzAJICAgIGNhc2UgTGVmdExvd2VyVGl0bGUgOgot CTY3MQkgICAgICBpID0gMTsgIGJyZWFrOwogCTY3MgkgICAgY2FzZSBSaWdodFVwcGVyVGl0bGUg OgogCTY3MwkgICAgY2FzZSBSaWdodExvd2VyVGl0bGUgOgotCTY3NAkgICAgICBpID0gVy0+V2lk dGggKyAxIC0gdGw7ICBicmVhazsKIAk2NzUJICAgIGNhc2UgQ2VudGVyVXBwZXJUaXRsZSA6CiAJ Njc2CSAgICBjYXNlIENlbnRlckxvd2VyVGl0bGUgOgotCTY3NwkgICAgICBpID0gKFctPldpZHRo IC0gdGwpIC8gMiArIDE7ICBicmVhazsKIAk2NzgJICAgIGRlZmF1bHQgOgotCTY3OQkgICAgICBp ID0gMTsKIAk2ODAJICB9Ci0JNjgxCSAgV2luZG93V3JpdGUoIFcsIGksIHJvdywgdGwsIHMsIHRy dWUgKTsKLQk2ODIJICB1cGRhdGVfcGFuZWxzKCk7Ci0gPT0+CTY4MwkgIGRvdXBkYXRlKCk7IAog CTY4NAkKLQk2ODUJfQoKCgkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCTI0NwkjaWZkZWYgSEFWRV9QUk9U TwogCTI0OAlpbnQgICBQRENfQ0RFQ0wgICBkb3VwZGF0ZSh2b2lkKQogCTI0OQkjZWxzZQogCTI1 MAlpbnQgICBQRENfQ0RFQ0wgICBkb3VwZGF0ZSgpCiAJMjUxCSNlbmRpZgogCTI1MgkvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiovCi0JMjUzCXsKIAkyNTQJcmVnaXN0ZXIgaW50ICAgaTsKIAkyNTUJYm9vbCByYzsK IAkyNTYJI2lmZGVmICAgUkVHSVNURVJXSU5ET1dTCiAJMjU3CSAgIFdJTkRTKiAgIG5leHQgPSBT UC0+dmlzaWJsZTsKIAkyNTgJI2VuZGlmCiAJMjU5CQogCTI2MAkjaWZkZWYgUERDREVCVUcKIAky NjEJICAgaWYgKHRyYWNlX29uKSBQRENfZGVidWcoImRvdXBkYXRlKCkgLSBjYWxsZWRcbiIpOwog CTI2MgkjZW5kaWYKIAkyNjMJCi0JMjY0CSAgIGlmIChpc2VuZHdpbigpKSAgLyogY29taW5nIGJh Y2sgYWZ0ZXIgZW5kd2luKCkgY2FsbGVkICovCiAJMjY1CSAgIHsKLQkyNjYJICAgICAgcmVzZXRf cHJvZ19tb2RlKCk7Ci0JMjY3CSAgICAgIGN1cnNjci0+X2NsZWFyID0gVFJVRTsKLQkyNjgJICAg ICAgU1AtPmFsaXZlID0gVFJVRTsgLyogc28gaXNlbmR3aW4oKSByZXN1bHQgaXMgY29ycmVjdCAq LwogCTI2OQkgICB9CiAJMjcwCQogCTI3MQkjaWZkZWYgICBSRUdJU1RFUldJTkRPV1MKIAkyNzIJ ICAgaWYgKFNQLT5yZWZyZXNoYWxsKQogCTI3MwkgICB7CiAJMjc0CSAgICAgIHdoaWxlIChuZXh0 ICE9IE5VTEwpCiAJMjc1CSAgICAgIHsKIAkyNzYJICAgICAgICAgaWYgKG5leHQtPnctPl9wYXJl bnQgIT0gTlVMTCkKIAkyNzcJICAgICAgICAgewogCTI3OAkgICAgICAgICAgICB0b3VjaHdpbihu ZXh0LT53LT5fcGFyZW50KTsKIAkyNzkJICAgICAgICAgICAgd25vdXRyZWZyZXNoKG5leHQtPnct Pl9wYXJlbnQpOwogCTI4MAkgICAgICAgICB9CiAJMjgxCSAgICAgICAgIHRvdWNod2luKG5leHQt PncpOwogCTI4MgkgICAgICAgICB3bm91dHJlZnJlc2gobmV4dC0+dyk7CiAJMjgzCSAgICAgICAg IG5leHQgPSBuZXh0LT5uZXh0OwogCTI4NAkgICAgICB9CiAJMjg1CSAgIH0KIAkyODYJI2VuZGlm CiAJMjg3CQotCTI4OAkgICBpZiAoU1AtPnNoZWxsKQotCTI4OQkgICAgICByZXNldF9wcm9nX21v ZGUoKTsKIAkyOTAJCi0JMjkxCSAgIGlmIChjdXJzY3IgPT0gKFdJTkRPVyAqKU5VTEwpCi0JMjky CSAgICAgIHJldHVybiggRVJSICk7CiAJMjkzCQogCTI5NAkvKiBpZiBjaGVja2luZyBmb3IgdHlw ZWFoZWFkLCBiYWlsIG91dCBoZXJlIGlmIGFueSBpcyBmb3VuZCAqLwogCTI5NQkgICAKLQkyOTYJ ICAgaWYgKFNQLT5yZWZyYnJrICYmIChTUC0+Y2JyZWFrIHx8IFNQLT5yYXdfaW5wKSkgCiAJMjk3 CSAgIHsKLQkyOTgJICAgICAgcmMgPSBQRENfYnJlYWtvdXQoKTsKLQkyOTkJICAgICAgaWYocmMp Ci0JMzAwCSAgICAgICAgIHJldHVybiggT0sgKTsKIAkzMDEJICAgfQogCTMwMgkKLQkzMDMJICAg aWYgKGN1cnNjci0+X2NsZWFyKQotCTMwNAkgICAgICBQRENfY2xyX3VwZGF0ZShjdXJzY3IpOwog CTMwNQkgICBlbHNlCiAJMzA2CSAgIHsKIAkzMDcJI2lmZGVmIFdJTjMyCiAJMzA4CSAgICAgIGlm ICghU1AtPnJlZnJicmsKIAkzMDkJICAgICAgJiYgIGdldGVudigiUERDX0ZVTExfRElTUExBWSIp ICE9IE5VTEwpCiAJMzEwCSAgICAgICAgIFBEQ19kb3VwZGF0ZSgpOwogCTMxMQkgICAgICBlbHNl CiAJMzEyCSAgICAgIHsKIAkzMTMJICAgICAgICAgZm9yIChpID0gMDsgaSA8IFNQLT5saW5lczsg aSsrKQogCTMxNAkgICAgICAgICB7CiAJMzE1CSMgaWZkZWYgUERDREVCVUcKIAkzMTYJICAgaWYg KHRyYWNlX29uKSBQRENfZGVidWcoImRvdXBkYXRlKCkgLSBUcmFuc2Zvcm1pbmcgbGluZSAlZCBv ZiAlZDogJXNcbiIsaSxTUC0+bGluZXMsKGN1cnNjci0+X2ZpcnN0Y2hbaV0gIT0gX05PX0NIQU5H RSk/IlllcyIgOiAiTm8iKTsKIAkzMTcJI2VuZGlmCiAJMzE4CSAgICAgICAgICAgIGlmIChjdXJz Y3ItPl9maXJzdGNoW2ldICE9IF9OT19DSEFOR0UpCiAJMzE5CSAgICAgICAgICAgICAgIGlmIChQ RENfdHJhbnNmb3JtX2xpbmUoaSkpICAvKiBpZiB0ZXN0IG5ldyAqLwogCTMyMAkgICAgICAgICAg ICAgICAgICBicmVhazsKIAkzMjEJICAgICAgICAgfQogCTMyMgkgICAgICB9CiAJMzIzCSNlbHNl Ci0JMzI0CSAgICAgIGZvciAoaSA9IDA7IGkgPCBTUC0+bGluZXM7IGkrKykKIAkzMjUJICAgICAg ewotCTMyNgkgICAgICAgICBpZiAoY3Vyc2NyLT5fZmlyc3RjaFtpXSAhPSBfTk9fQ0hBTkdFKQot CTMyNwkgICAgICAgICAgICBpZiAoUERDX3RyYW5zZm9ybV9saW5lKGkpKSAgLyogaWYgdGVzdCBu ZXcgKi8KLQkzMjgJICAgICAgICAgICAgICAgYnJlYWs7CiAJMzI5CSAgICAgIH0KIAkzMzAJI2Vu ZGlmCiAJMzMxCSAgIH0KIAkzMzIJCiAJMzMzCSMgaWYgZGVmaW5lZCAoWENVUlNFUykKLSA9PT4J MzM0CSAgIFhDdXJzZXNJbnN0cnVjdEFuZFdhaXQoQ1VSU0VTX1JFRlJFU0gpOwogCTMzNQkjIGVu ZGlmCiAJMzM2CQotCTMzNwkgICBpZiAoU1AtPmN1cnNyb3cgIT0gY3Vyc2NyLT5fY3VyeQogCTMz OAkgICB8fCAgU1AtPmN1cnNjb2wgIT0gY3Vyc2NyLT5fY3VyeCkKIAkzMzkJICAgewotCTM0MAkg ICAgICBQRENfZ290b3h5KGN1cnNjci0+X2N1cnksIGN1cnNjci0+X2N1cngpOwotCTM0MQkgICAg ICBTUC0+Y3Vyc3JvdyA9IGN1cnNjci0+X2N1cnk7Ci0JMzQyCSAgICAgIFNQLT5jdXJzY29sID0g Y3Vyc2NyLT5fY3VyeDsKIAkzNDMJICAgfQogCTM0NAkKLQkzNDUJICAgcmV0dXJuKCBPSyApOwot CTM0Ngl9CgoKCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiovCgkJI2lmZGVmIEhBVkVfUFJPVE8KIAkzMTUJaW50 IFhDdXJzZXNJbnN0cnVjdEFuZFdhaXQoaW50IGZsYWcpCiAJMzE2CSNlbHNlCiAJMzE3CWludCBY Q3Vyc2VzSW5zdHJ1Y3RBbmRXYWl0KGZsYWcpCiAJMzE4CWludCBmbGFnOwogCTMxOQkjZW5kaWYK IAkzMjAJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqLwotCTMyMQl7CiAJMzIyCSAgIGludCByZXN1bHQ7CiAJMzIz CSAgIGNoYXIgYnVmWzEwXTsKIAkzMjQJCiAJMzI1CSNpZmRlZiBQRENERUJVRwogCTMyNgkgICBp ZiAodHJhY2Vfb24pIFBEQ19kZWJ1ZygiJXM6WEN1cnNlc0luc3RydWN0QW5kV2FpdCgpIC0gY2Fs bGVkXG4iLChYQ3Vyc2VzUHJvY2Vzcyk/IiAgICAgWCI6IkNVUlNFUyIpOwogCTMyNwkjZW5kaWYK IAkzMjgJICAgLyoKIAkzMjkJICAgICogVGVsbCBYIHdlIHdhbnQgdG8gZG8gc29tZXRoaW5nLi4u CiAJMzMwCSAgICAqLwotCTMzMQkgICBYQ3Vyc2VzSW5zdHJ1Y3QoZmxhZyk7CiAJMzMyCSAgIC8q CiAJMzMzCSAgICAqIC4uLiB3YWl0IGZvciBYIHRvIHNheSB0aGUgcmVmcmVzaCBoYXMgb2NjdXJy ZWQuCiAJMzM0CSAgICAqLwotCTMzNQkgICBpZiAocmVhZF9zb2NrZXQoZGlzcGxheV9zb2NrLGJ1 ZixzaXplb2YoaW50KSkgPCAwKQotID09PgkzMzYJICAgICAgWEN1cnNlc0V4aXRDdXJzZXNQcm9j ZXNzKDUsImV4aXRpbmcgZnJvbSBYQ3Vyc2VzSW5zdHJ1Y3RBbmRXYWl0Iik7Ci0JMzM3CSAgIG1l bWNweSgoY2hhciAqKSZyZXN1bHQsYnVmLHNpemVvZihpbnQpKTsKLQkzMzgJICAgaWYgKHJlc3Vs dCAhPSBDVVJTRVNfQ09OVElOVUUpCi0JMzM5CSAgICAgIFhDdXJzZXNFeGl0Q3Vyc2VzUHJvY2Vz cyg2LCJleGl0dGluZyBmcm9tIFhDdXJzZXNJbnN0cnVjdEFuZFdhaXQgLSBzeW5jaHJvbml6YXRp b24gZXJyb3IiKTsKLQkzNDAJICAgcmV0dXJuKE9LKTsKLQkzNDEJfQoKCgkJLyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLwogCTY0NQkjaWZkZWYgSEFWRV9QUk9UTwogCTY0NglzdGF0aWMgdm9pZCBYQ3Vyc2VzRXhp dEN1cnNlc1Byb2Nlc3MoaW50IHJjLGNoYXIgKm1zZykKIAk2NDcJI2Vsc2UKIAk2NDgJc3RhdGlj IHZvaWQgWEN1cnNlc0V4aXRDdXJzZXNQcm9jZXNzKHJjLG1zZykKIAk2NDkJaW50IHJjOwogCTY1 MAljaGFyICptc2c7CiAJNjUxCSNlbmRpZgogCTY1MgkvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0JNjUzCXsK IAk2NTQJI2lmZGVmIFBEQ0RFQlVHCiAJNjU1CSAgIGlmICh0cmFjZV9vbikgUERDX2RlYnVnKCIl czpYQ3Vyc2VzRXhpdEN1cnNlc1Byb2Nlc3MoKSAtIGNhbGxlZDogJWQgJXNcbiIsKFhDdXJzZXNQ cm9jZXNzKT8iICAgICBYIjoiQ1VSU0VTIixyYyxtc2cpOwogCTY1NgkjZW5kaWYKLSA9PT4JNjU3 CSAgIGVuZHdpbigpOwotCTY1OAkgICBYQ3Vyc2VzQ2xlYW51cEN1cnNlc1Byb2Nlc3MocmMpOwog CTY1OQkgICByZXR1cm47Ci0JNjYwCX0KCgoJCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAk0MzkJI2lmZGVm IEhBVkVfUFJPVE8KIAk0NDAJaW50IFBEQ19DREVDTCBlbmR3aW4odm9pZCkKIAk0NDEJI2Vsc2UK IAk0NDIJaW50IFBEQ19DREVDTCBlbmR3aW4oKQogCTQ0MwkjZW5kaWYKIAk0NDQJLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqLwotCTQ0NQl7CiAJNDQ2CSNpZmRlZiBQRENERUJVRwogCTQ0NwkgICBpZiAodHJhY2Vf b24pIFBEQ19kZWJ1ZygiZW5kd2luKCkgLSBjYWxsZWRcbiIpOwogCTQ0OAkjZW5kaWYKIAk0NDkJ CiAJNDUwCSNpZmRlZiBPUklHSU5BTF9QRENVUlNFU19CRUhBVklPVVIKIAk0NTEJICAgUERDX3Nj cl9jbG9zZSgpOwogCTQ1MgkvKiByZXNldHR5KCk7Ki8KIAk0NTMJICAgaWYgKFNQLT5vcmlnX2Zv bnQgIT0gU1AtPmZvbnQpICAvKiBzY3JlZW4gaGFzIG5vdCBiZWVuIHJlc2l6ZWQgKi8KIAk0NTQJ ICAgewogCTQ1NQkgICAgICBQRENfc2V0X2ZvbnQoU1AtPm9yaWdfZm9udCk7CiAJNDU2CSAgICAg IHJlc2l6ZV90ZXJtKFBEQ19nZXRfcm93cygpLFBEQ19nZXRfY29sdW1ucygpKTsKIAk0NTcJICAg fQogCTQ1OAkKIAk0NTkJICAgU1AtPnZpc2libGVfY3Vyc29yID0gRkFMU0U7ICAgLyogRm9yY2Ug dGhlIHZpc2libGUgY3Vyc29yICovCiAJNDYwCSAgIFNQLT5jdXJzb3IgPSBTUC0+b3JpZ19jdXJz b3I7CiAJNDYxCSAgIFBEQ19jdXJzb3Jfb24oKTsKIAk0NjIJICAgLyoKIAk0NjMJICAgICogUG9z aXRpb24gY3Vyc29yIHNvIHRoYXQgdGhlIHNjcmVlbiB3aWxsIG5vdCBzY3JvbGwgdW50aWwgdGhl eSBoaXQKIAk0NjQJICAgICogYSBjYXJyaWFnZSByZXR1cm4uIERvIHRoaXMgQkVGT1JFIGRlbHdp bihjdXJzY3IpIGFzIFBEQ19nb3RveHkoKSB1c2VzCiAJNDY1CSAgICAqIGN1cnNjci4KIAk0NjYJ ICAgICovCiAJNDY3CSAgIFBEQ19nb3RveHkoUERDX2dldF9yb3dzKCkgLSAyLCAwKTsKIAk0NjgJ ICAgZGVsd2luKHN0ZHNjcik7CiAJNDY5CSAgIGRlbHdpbihjdXJzY3IpOwogCTQ3MAkgICBzdGRz Y3IgPSAoV0lORE9XICopTlVMTDsKIAk0NzEJICAgY3Vyc2NyID0gKFdJTkRPVyAqKU5VTEw7CiAJ NDcyCSAgIFNQLT5hbGl2ZSA9IEZBTFNFOwogCTQ3MwkKIAk0NzQJIyBpZiAhZGVmaW5lZCAoWENV UlNFUykKIAk0NzUJICAgaWYgKFNQKQogCTQ3NgkgICB7CiAJNDc3CSAgICAgIGZyZShTUCk7CiAJ NDc4CSAgICAgIFNQID0gKFNDUkVFTiAqKU5VTEw7CiAJNDc5CSAgIH0KIAk0ODAJIyBlbmRpZgog CTQ4MQkKIAk0ODIJCiAJNDgzCSMgaWZkZWYgIEZMRVhPUwogCTQ4NAkgICBfZmxleG9zXzhiaXRt b2RlKCk7CiAJNDg1CSMgZW5kaWYKIAk0ODYJLyogUERDX2ZpeF9jdXJzb3IoU1AtPm9yaWdfZW11 bGF0aW9uKTsqLwogCTQ4NwkKIAk0ODgJIyBpZmRlZiBVTklYCiAJNDg5CSAgIGlmIChleGl0X2Nh X21vZGUgIT0gTlVMTCkKIAk0OTAJICAgICAgcHV0cChleGl0X2NhX21vZGUpOwogCTQ5MQkjIGVu ZGlmCiAJNDkyCQogCTQ5MwkjIGlmIGRlZmluZWQoRE9TKSB8fCBkZWZpbmVkKE9TMikKIAk0OTQJ ICAgcmVzZXRfc2hlbGxfbW9kZSgpOwogCTQ5NQkjIGVuZGlmCiAJNDk2CQogCTQ5NwkjIGlmIERP Tk9US0lMTFhGUk9NSEVSRQogCTQ5OAkjICBpZiBkZWZpbmVkIChYQ1VSU0VTKQogCTQ5OQkgICBY Q3Vyc2VzSW5zdHJ1Y3QoQ1VSU0VTX0VYSVQpOwogCTUwMAkgICBYQ3Vyc2VzQ2xlYW51cEN1cnNl c1Byb2Nlc3MoMCk7CiAJNTAxCSMgIGVuZGlmCiAJNTAyCSMgZW5kaWYKIAk1MDMJCiAJNTA0CSNl bHNlCiAJNTA1CQogCTUwNgkvKgogCTUwNwkgKiBOZXcgZW5kd2luKCkgYmVoYXZpb3VyOyB0byBh bGxvdyB0ZW1wb3JhcnkgZXhpdCBmcm9tIGN1cnNlcwogCTUwOAkgKiB1c2luZyBlbmR3aW4oKS4K IAk1MDkJICovCiAJNTEwCQotCTUxMQkgICBQRENfc2NyX2Nsb3NlKCk7CiAJNTEyCQogCTUxMwkj IGlmZGVmICBGTEVYT1MKIAk1MTQJICAgX2ZsZXhvc184Yml0bW9kZSgpOwogCTUxNQkjIGVuZGlm CiAJNTE2CQogCTUxNwkjIGlmIGRlZmluZWQoRE9TKSB8fCBkZWZpbmVkKE9TMikKIAk1MTgJICAg cmVzZXRfc2hlbGxfbW9kZSgpOwogCTUxOQkjIGVuZGlmCiAJNTIwCQotID09Pgk1MjEJICAgY3Vy c19zZXQoMSk7CiAJNTIyCSAgIC8qCiAJNTIzCSAgICAqIFBvc2l0aW9uIGN1cnNvciB0byB0aGUg Ym90dG9tIGxlZnQgb2YgdGhlIHNjcmVlbi4KIAk1MjQJICAgICovCiAJNTI1CSNpZiBkZWZpbmVk KFdJTjMyKQogCTUyNgkgICBQRENfZ290b3h5KFBEQ19nZXRfYnVmZmVyX3Jvd3MoKSAtIDIsIDAp OwogCTUyNwkjZWxzZQotCTUyOAkgICBQRENfZ290b3h5KFBEQ19nZXRfcm93cygpIC0gMiwgMCk7 CiAJNTI5CSNlbmRpZgogCTUzMAkKLQk1MzEJICAgU1AtPmFsaXZlID0gRkFMU0U7CiAJNTMyCQog CTUzMwkjZW5kaWYKIAk1MzQJCi0JNTM1CSAgIHJldHVybiggT0sgKTsKLQk1MzYJfQoKCgkJLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCTQ0NAkjaWZkZWYgSEFWRV9QUk9UTwogCTQ0NQlpbnQgICBQRENfQ0RF Q0wgICBjdXJzX3NldChpbnQgdmlzaWJpbGl0eSkKIAk0NDYJI2Vsc2UKIAk0NDcJaW50ICAgUERD X0NERUNMICAgY3Vyc19zZXQodmlzaWJpbGl0eSkKIAk0NDgJaW50IHZpc2liaWxpdHk7CiAJNDQ5 CSNlbmRpZgogCTQ1MAkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0JNDUxCXsKIAk0NTIJI2lmZGVmIFBEQ0RF QlVHCiAJNDUzCSAgIGlmICh0cmFjZV9vbikgUERDX2RlYnVnKCJjdXJzX3NldCgpIC0gY2FsbGVk OiB2aXNpYmlsaXR5PSVkXG4iLHZpc2liaWxpdHkpOwogCTQ1NAkjZW5kaWYKIAk0NTUJCi0gPT0+ CTQ1NgkgICByZXR1cm4oUERDX2N1cnNfc2V0KHZpc2liaWxpdHkpKTsKLQk0NTcJfQoKCgkJLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCTExNQkjaWZkZWYgSEFWRV9QUk9UTwogCTExNglpbnQJUERDX2N1cnNf c2V0KGludCB2aXNpYmlsaXR5KQogCTExNwkjZWxzZQogCTExOAlpbnQJUERDX2N1cnNfc2V0KHZp c2liaWxpdHkpCiAJMTE5CWludCB2aXNpYmlsaXR5OwogCTEyMAkjZW5kaWYKIAkxMjEJLyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLwotCTEyMgl7Ci0JMTIzCSAgIGludCByZXRfdmlzID0gU1AtPnZpc2liaWxpdHk7 CiAJMTI0CQogCTEyNQkjaWZkZWYgUERDREVCVUcKIAkxMjYJICAgaWYgKHRyYWNlX29uKSBQRENf ZGVidWcoIlBEQ19jdXJzX3NldCgpIC0gY2FsbGVkOiB2aXNpYmlsaXR5PSVkXG4iLHZpc2liaWxp dHkpOwogCTEyNwkjZW5kaWYKIAkxMjgJCi0JMTI5CSAgIGlmICggdmlzaWJpbGl0eSAhPSAtMSAp CiAJMTMwCSAgIHsKLQkxMzEJICAgICAgU1AtPnZpc2liaWxpdHkgPSB2aXNpYmlsaXR5OwogCTEz MgkgICB9Ci0gPT0+CTEzMwkgICBYQ3Vyc2VzX2Rpc3BsYXlfY3Vyc29yKFNQLT5jdXJzcm93LFNQ LT5jdXJzY29sLFNQLT5jdXJzcm93LFNQLT5jdXJzY29sLHZpc2liaWxpdHkpOwotCTEzNAkgICBy ZXR1cm4ocmV0X3Zpcyk7Ci0JMTM1CX0KCgoJCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAk2OAkjaWZkZWYg SEFWRV9QUk9UTwogCTY5CWludCBYQ3Vyc2VzX2Rpc3BsYXlfY3Vyc29yKGludCBvbGRyb3csIGlu dCBvbGRjb2wsIGludCBuZXdyb3csaW50IG5ld2NvbCxpbnQgdmlzaWJpbGl0eSkKIAk3MAkjZWxz ZQogCTcxCWludCBYQ3Vyc2VzX2Rpc3BsYXlfY3Vyc29yKG9sZHJvdyxvbGRjb2wsbmV3cm93LG5l d2NvbCx2aXNpYmlsaXR5KQogCTcyCWludCBvbGRyb3csb2xkY29sLG5ld3JvdyxuZXdjb2wsdmlz aWJpbGl0eTsKIAk3MwkjZW5kaWYKIAk3NAkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0JNzUJewogCTc2CSAg IGNoYXIgYnVmWzMwXTsKIAk3NwkgICBpbnQgaWR4LHBvczsKIAk3OAkKIAk3OQkjaWZkZWYgUERD REVCVUcKIAk4MAkgICBpZiAodHJhY2Vfb24pIFBEQ19kZWJ1ZygiJXM6WEN1cnNlc19kaXNwbGF5 X2N1cnNvcigpIC0gY2FsbGVkOiBORVcgcm93ICVkIGNvbCAlZCwgdmlzICVkXG4iLAogCTgxCSAg ICAgICAgICAgICAgICAgICAgICAgIChYQ3Vyc2VzUHJvY2Vzcyk/IlgiOiJDVVJTRVMiLG5ld3Jv dyxuZXdjb2wsdmlzaWJpbGl0eSk7CiAJODIJI2VuZGlmCiAJODMJCi0JODQJICAgaWYgKCB2aXNp YmlsaXR5ID09IC0xICkKIAk4NQkgICB7CiAJODYJICAgICAgLyoKIAk4NwkgICAgICAgKiBPbmx5 IHNlbmQgdGhlIENVUlNFU19ESVNQTEFZX0NVUlNPUiBtZXNzYWdlLCBubyBkYXRhCiAJODgJICAg ICAgICovCi0JODkJICAgICAgaWR4ID0gQ1VSU0VTX0RJU1BMQVlfQ1VSU09SOwotCTkwCSAgICAg IG1lbWNweShidWYsKGNoYXIgKikmaWR4LHNpemVvZihpbnQpKTsKLQk5MQkgICAgICBpZHggPSBz aXplb2YoaW50KTsKIAk5MgkgICB9CiAJOTMJICAgZWxzZQogCTk0CSAgIHsKLQk5NQkgICAgICBp ZHggPSBDVVJTRVNfQ1VSU09SOwotCTk2CSAgICAgIG1lbWNweShidWYsKGNoYXIgKikmaWR4LHNp emVvZihpbnQpKTsKLQk5NwkgICAgICBpZHggPSBzaXplb2YoaW50KTsKLQk5OAkgICAgICBwb3Mg PSBvbGRyb3cgKyAob2xkY29sIDw8IDgpOwotCTk5CSAgICAgIG1lbWNweShidWYraWR4LChjaGFy ICopJnBvcyxzaXplb2YoaW50KSk7Ci0JMTAwCSAgICAgIGlkeCArPSBzaXplb2YoaW50KTsKLQkx MDEJICAgICAgcG9zID0gbmV3cm93ICsgKG5ld2NvbCA8PCA4KTsKLQkxMDIJICAgICAgbWVtY3B5 KGJ1ZitpZHgsKGNoYXIgKikmcG9zLHNpemVvZihpbnQpKTsKLQkxMDMJICAgICAgaWR4ICs9IHNp emVvZihpbnQpOwogCTEwNAkgICB9CiAJMTA1CQotID09PgkxMDYJICAgaWYgKHdyaXRlX3NvY2tl dChkaXNwbGF5X3NvY2ssYnVmLGlkeCkgPCAwKQotCTEwNwkgICAgICBYQ3Vyc2VzRXhpdEN1cnNl c1Byb2Nlc3MoMSwiZXhpdHRpbmcgZnJvbSBYQ3Vyc2VzX2Rpc3BsYXlfY3Vyc29yIik7CiAJMTA4 CQotCTEwOQkgICByZXR1cm4oT0spOwotCTExMAl9CgoKCQkvKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAJNDgJ I2lmZGVmIEhBVkVfUFJPVE8KIAk0OQlpbnQgd3JpdGVfc29ja2V0KGludCBzb2NrX251bSxjaGFy ICpidWYsaW50IGxlbikKIAk1MAkjZWxzZQogCTUxCWludCB3cml0ZV9zb2NrZXQoc29ja19udW0s YnVmLGxlbikKIAk1MglpbnQgc29ja19udW07CiAJNTMJY2hhciAqYnVmOwogCTU0CWludCBsZW47 CiAJNTUJI2VuZGlmCiAJNTYJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCTU3CXsKLQk1OAkgICBpbnQgc3Rh cnQ9MCxsZW5ndGg9bGVuLHJjOwogCTU5CSNpZmRlZiBQRENERUJVRwogCTYwCSAgIGlmICh0cmFj ZV9vbikgUERDX2RlYnVnKCIlczp3cml0ZV9zb2NrZXQgY2FsbGVkOiBzb2NrX251bSAlZCBsZW4g JWRcbiIsKFhDdXJzZXNQcm9jZXNzKT8iICAgICBYIjoiQ1VSU0VTIixzb2NrX251bSxsZW4pOwog CTYxCSNlbmRpZgogCTYyCSNpZmRlZiBNT1VTRV9ERUJVRzEKIAk2MwlpZiAoc29ja19udW0gPT0g a2V5X3NvY2spCiAJNjQJICAgIHByaW50ZigiJXM6d3JpdGVfc29ja2V0KGtleSkgbGVuOiAlZFxu IiwoWEN1cnNlc1Byb2Nlc3MpPyIgICAgIFgiOiJDVVJTRVMiLGxlbik7CiAJNjUJI2VuZGlmCiAJ NjYJICAgd2hpbGUoMSkKIAk2NwkgICB7Ci0gPT0+CTY4CSAgICAgIHJjID0gd3JpdGUoc29ja19u dW0sYnVmK3N0YXJ0LGxlbmd0aCk7Ci0JNjkJICAgICAgaWYgKHJjIDwgMAogCTcwCSAgICAgIHx8 ICByYyA9PSBsZW5ndGgpCi0JNzEJICAgICAgICAgcmV0dXJuKHJjKTsKLQk3MgkgICAgICBsZW5n dGggLT0gcmM7Ci0JNzMJICAgICAgc3RhcnQgPSByYzsKIAk3NAkgICB9Ci0JNzUJfQoKCi0JMHg1 NTk4MmQ5Ygk8X193cml0ZV9ub2NhbmNlbCsxPjoJCXB1c2ggICBlYngKLQkweDU1OTgyZDliCTxf X3dyaXRlX25vY2FuY2VsKzE+OgkJbW92ICAgIGVkeCxEV09SRCBQVFIgW2VzcCsxNl0KLQkweDU1 OTgyZDlmCTxfX3dyaXRlX25vY2FuY2VsKzU+OgkJbW92ICAgIGVjeCxEV09SRCBQVFIgW2VzcCsx Ml0KLQkweDU1OTgyZGEzCTxfX3dyaXRlX25vY2FuY2VsKzk+OgkJbW92ICAgIGVieCxEV09SRCBQ VFIgW2VzcCs4XQotCTB4NTU5ODJkYTcJPF9fd3JpdGVfbm9jYW5jZWwrMTM+OgkJbW92ICAgIGVh eCwweDQKLQkweDU1OTgyZGFjCTxfX3dyaXRlX25vY2FuY2VsKzE4PjoJCWludCAgICAweDgwCi0g PT0+CTB4NTU5ODJkYWUJPF9fd3JpdGVfbm9jYW5jZWwrMjA+OgkJcG9wICAgIGVieAotCTB4NTU5 ODJkYWYJPF9fd3JpdGVfbm9jYW5jZWwrMjE+OgkJY21wICAgIGVheCwweGZmZmZmMDAxCi0JMHg1 NTk4MmRiNAk8X193cml0ZV9ub2NhbmNlbCsyNj46CQlqYWUgICAgMHg1NTk4MmRlMyA8X193cml0 ZV9ub2NhbmNlbCs3Mz4KLQkweDU1OTgyZGI2CTxfX3dyaXRlX25vY2FuY2VsKzI4PjoJCXJldCAg ICAKLQkweDU1OTgyZGI3CTxfX3dyaXRlX25vY2FuY2VsKzI5PjoJCWNhbGwgICAweDU1OTljYTYw IDxfX2xpYmNfZW5hYmxlX2FzeW5jY2FuY2VsPgotCTB4NTU5ODJkYmMJPF9fd3JpdGVfbm9jYW5j ZWwrMzQ+OgkJcHVzaCAgIGVheAotCTB4NTU5ODJkYmQJPF9fd3JpdGVfbm9jYW5jZWwrMzU+OgkJ cHVzaCAgIGVieAotCTB4NTU5ODJkYmUJPF9fd3JpdGVfbm9jYW5jZWwrMzY+OgkJbW92ICAgIGVk eCxEV09SRCBQVFIgW2VzcCsyMF0KLQkweDU1OTgyZGMyCTxfX3dyaXRlX25vY2FuY2VsKzQwPjoJ CW1vdiAgICBlY3gsRFdPUkQgUFRSIFtlc3ArMTZdCi0JMHg1NTk4MmRjNgk8X193cml0ZV9ub2Nh bmNlbCs0ND46CQltb3YgICAgZWJ4LERXT1JEIFBUUiBbZXNwKzEyXQotCTB4NTU5ODJkY2EJPF9f d3JpdGVfbm9jYW5jZWwrNDg+OgkJbW92ICAgIGVheCwweDQKLQkweDU1OTgyZGNmCTxfX3dyaXRl X25vY2FuY2VsKzUzPjoJCWludCAgICAweDgwCi0JMHg1NTk4MmRkMQk8X193cml0ZV9ub2NhbmNl bCs1NT46CQlwb3AgICAgZWJ4Ci0JMHg1NTk4MmRkMgk8X193cml0ZV9ub2NhbmNlbCs1Nj46CQl4 Y2hnICAgRFdPUkQgUFRSIFtlc3BdLGVheAotCTB4NTU5ODJkZDUJPF9fd3JpdGVfbm9jYW5jZWwr NTk+OgkJY2FsbCAgIDB4NTU5OWNhMzAgPF9fbGliY19kaXNhYmxlX2FzeW5jY2FuY2VsPgotCTB4 NTU5ODJkZGEJPF9fd3JpdGVfbm9jYW5jZWwrNjQ+OgkJcG9wICAgIGVheAotCTB4NTU5ODJkZGIJ PF9fd3JpdGVfbm9jYW5jZWwrNjU+OgkJY21wICAgIGVheCwweGZmZmZmMDAxCi0JMHg1NTk4MmRl MAk8X193cml0ZV9ub2NhbmNlbCs3MD46CQlqYWUgICAgMHg1NTk4MmRlMyA8X193cml0ZV9ub2Nh bmNlbCs3Mz4KLQkweDU1OTgyZGUyCTxfX3dyaXRlX25vY2FuY2VsKzcyPjoJCXJldCAgICAKLQkw eDU1OTgyZGUzCTxfX3dyaXRlX25vY2FuY2VsKzczPjoJCWNhbGwgICAweDU1OWM3ODllIDxfX2k2 ODYuZ2V0X3BjX3RodW5rLmN4PgotCTB4NTU5ODJkZTgJPF9fd3JpdGVfbm9jYW5jZWwrNzg+OgkJ YWRkICAgIGVjeCwweDY5MjBjCi0JMHg1NTk4MmRlZQk8X193cml0ZV9ub2NhbmNlbCs4ND46CQlt b3YgICAgZWN4LERXT1JEIFBUUiBbZWN4LTB4ZThdCi0JMHg1NTk4MmRmNAk8X193cml0ZV9ub2Nh bmNlbCs5MD46CQl4b3IgICAgZWR4LGVkeAotCTB4NTU5ODJkZjYJPF9fd3JpdGVfbm9jYW5jZWwr OTI+OgkJc3ViICAgIGVkeCxlYXgKLQkweDU1OTgyZGY4CTxfX3dyaXRlX25vY2FuY2VsKzk0PjoJ CW1vdiAgICBnczpEV09SRCBQVFIgW2VjeF0sZWR4Ci0JMHg1NTk4MmRmYgk8X193cml0ZV9ub2Nh bmNlbCs5Nz46CQlvciAgICAgZWF4LDB4ZmZmZmZmZmYKLQkweDU1OTgyZGZlCTxfX3dyaXRlX25v Y2FuY2VsKzEwMD46CQlqbXAgICAgMHg1NTk4MmRlMiA8X193cml0ZV9ub2NhbmNlbCs3Mj4K