From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 8992 invoked from network); 26 Oct 2023 03:37:22 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 26 Oct 2023 03:37:22 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1698291442; b=AXw3ac9lhiJRm5Lp5Ul4Q4IqwMeR5Xg4BL3etIRTb6+ki4r+Nzznbqyr+v+rPLjmwevvV/d9Gd jfdtljWI6Qy4muIK7wpAJVGGLlnJqt+9eKOg/WgCo91Yd1yBgIr0hpCaL3tlJAypgIC5rwnE6T bG/NDGF5Coa00sSTF3MbVkCIV9HryoVeD+Np/RmCNnaDaxOuyWBJpuJqH5cAhz6PBaBXH6bBRv uhDPqNu6nMXT94OMiN8noS1/mrf8fsAbCQM4q7r9Ee/JYVVBwGFySMRzECcVOM1NckzTDF46Jf GBI0QlXgdXOI+aYgXxZZlB7ZhMtpsIedqv/kRi6/LNOkWA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f50.google.com) smtp.remote-ip=209.85.218.50; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1698291442; bh=9ZmCfRMSGbNkSCI0Ok56UGlH4Jw/xThnwrM5KYj511g=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:MIME-Version: DKIM-Signature:DKIM-Signature; b=MP33UPuJ3MsjK2t0vvD7EVLp8EzFc53DIz9julZYCQ3m25+FMObnY0RK+BgXrhX9xWR3tutjMW PckPvqHZRk6UGEoBXPSSyMAS+jFzlZhOJN+NFl71MPhc3ZlkUU0usRr7vjxYMArFzKqKLfghTb Tab7cK8tZhqA4YItIYCWsLX2haz7j9P9c1set9tqIAAQhbeC7OED0H75Mp4AIICsZeWNb/zmk2 yaC7S7ugeWjYd6DZBqVQTgjGrdmY92gYdIsTV1dWQzjyQNLkJmZlmBei8dLJJFSoW8A/StJZLF aPdxZ7kWC36uqXhu/Ei8kHh0hx+/Rc49kUxEf/r2F/5c3g==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:To:Subject:Message-ID: Date:From:MIME-Version:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=bVD3e7z5pCiUjnyr6vqa/MpEjaPhGL09kr5cM7s44rA=; b=pqbx7a7kYgnVBeW+KKNBr3lIz0 /G2cvXr3eJLbZU/sKfLkugNRstika645mPsOYpfw4n6dknyl/Uxl0IHEAhk+bnRo4mhL0e4PDI3a/ pa+uc0ODpOdLn73D7Llsmme+i1pmBgPRW16QQKlmLTE0uxxpg4ZIwhp0EFxioRhPP/i/ho4QS8MTR 27QQr4Z1NE6VVquaXsMMm6/TnY4FLFG6V4Noj/7Ig3ADreqHpK2C4/c2eZJ4cpGQQYBGiID5mDF1k 3hgmNnycJWfIzgh8eA4ATL6cKSFewsrZNgAlYwXJadA4EJrHL8UaQ12N+oyZoykLhi7z4caipUdy5 YySAjX+w==; Received: by zero.zsh.org with local id 1qvrBQ-0008kL-DZ; Thu, 26 Oct 2023 03:37:20 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f50.google.com) smtp.remote-ip=209.85.218.50; dkim=pass header.d=brasslantern-com.20230601.gappssmtp.com header.s=20230601 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ej1-f50.google.com ([209.85.218.50]:56524) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1qvrAv-0008Qc-Rj; Thu, 26 Oct 2023 03:36:51 +0000 Received: by mail-ej1-f50.google.com with SMTP id a640c23a62f3a-9bf86b77a2aso63634566b.0 for ; Wed, 25 Oct 2023 20:36:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20230601.gappssmtp.com; s=20230601; t=1698291409; x=1698896209; darn=zsh.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=bVD3e7z5pCiUjnyr6vqa/MpEjaPhGL09kr5cM7s44rA=; b=oDy0ubnG7VatZda1ipzRUOz+z/Dz+H/MNzWfR4Qfet46YcAKcfDNh3BOfQgz0Jw2Bj 4RhK85UhNv6/TzwjCo5RksMMezwlG9eP84f571EWefTEdvbT1oHDGg+V2q6ggH16YrHa B9LNu2XCTNiLktF5KEtoxxuSPxGtPsOs88b1lfwZagmlW4zeaftmr+T5L/FRk9vI55EY Oepfak6EQrH103puyWnFPzWSzVxMrnkAngUhiIfXT0Hxv5KWGNjVH5AGG6pTEPVrcML1 eIzqmVTuO+YmavjOyApqrWNvptTMhm8VPrEG6x0CtiCs/NJTfaqi5wOm3wHqYkQnN7IV S7pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698291409; x=1698896209; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=bVD3e7z5pCiUjnyr6vqa/MpEjaPhGL09kr5cM7s44rA=; b=UtsfUzqf8UH0uMzoziO3G5zianYoi3FveEw+muo1uDM3Rik6dbWV06txj1hhlIkXKF Ei5DIqu1RE94JJOToaIgYuHsLgkeWr4hKNetO4n9z5W8Bi9e6wcyQjlwa30O7iBAX+ng NL8p8Tx+XbzBiRlcXUXviIPWqHDu8abtaIHRfzEAiBVb96t+ntw23fRrK4mDqSoSUGNX yk7G1105hhhDVBALljUplEJQ2DZ61IL49P8ah6JiVzPXQicOWq/YmdRIeNJeeVuVuT4Z /nOTOUoF3URmMuy7J2wrD+07QarIGtzKWM0rdFbZMGPYT7IR62n+G4mhK22SdlFVHLGY ym5Q== X-Gm-Message-State: AOJu0YwAtinfBMRKtvJabZkXhp8F8RapX2oFjtUHEzoWPOHsExutTSpa Sb29h2/3z2Asa4s/onuEnu0NrsqFz39qyxD/P3T0/Dvox/wZDig39Rw= X-Google-Smtp-Source: AGHT+IHiB0iSwvfywQP6HurTiObvN865H+MdHfThiJZkeP+FsSb87orwL3VfWox3VXQpljYo3xKONvs2i77EmlZmkwM= X-Received: by 2002:a17:907:3fa2:b0:9bd:ff07:a586 with SMTP id hr34-20020a1709073fa200b009bdff07a586mr11788587ejc.68.1698291408894; Wed, 25 Oct 2023 20:36:48 -0700 (PDT) MIME-Version: 1.0 From: Bart Schaefer Date: Wed, 25 Oct 2023 20:36:38 -0700 Message-ID: Subject: [PATCH] Fix a bunch of Coverity-reported defects To: Zsh hackers list Content-Type: multipart/mixed; boundary="00000000000027341a0608964878" X-Seq: 52244 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: --00000000000027341a0608964878 Content-Type: text/plain; charset="UTF-8" I triaged about 85 defects in the Coverity scan UI. The majority of them were spurious, and I marked them "Ignore". There were 14 that I felt worthy of small fixes; those are included in the patch below. I believe that leaves 14 others where I wasn't confident of a fix; several of them are in zftp, as I recall. A batch of the warnings that I ignored were assignments of one field of a union to another field of the same union, e.g., a casted long onto a double, etc., which elicited "overlapping copy" warnings. I'm fairly confident we'd have seen things crashing by now if this wasn't safe, but I mention it in case someone knows why it might be a problem. One of those I did NOT fix is this, mentioned recently: > > *** CID 1547827: Null pointer dereferences (FORWARD_NULL) > > /Src/Modules/pcre.c: 370 in bin_pcre_match() > > >>> Passing null pointer "named" to "zpcre_get_substrings", which dereferences it. > > This is from Oliver's 51738 (PCRE's alternative DFA), I'm not going to > interpret futher. Let me know if there's anything controversial here. --00000000000027341a0608964878 Content-Type: text/plain; charset="US-ASCII"; name="coverity-defects.txt" Content-Disposition: attachment; filename="coverity-defects.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lo6mscrp0 aW5kZXggOGE3ZDBhNGM1Li44Yjg2M2Q1YzggMTAwNjQ0Ci0tLSBhL1NyYy9Nb2R1bGVzL3p1dGls LmMKKysrIGIvU3JjL01vZHVsZXMvenV0aWwuYwpAQCAtMTM3OCwxMSArMTM3OCwxMSBAQCBybWF0 Y2goUlBhcnNlUmVzdWx0ICpzbSwgY2hhciAqc3ViaiwgY2hhciAqdmFyMSwgY2hhciAqdmFyMiwg aW50IGNvbXApCiAJCQkJCSAgICAgInpyZWdleHBhcnNlLWd1YXJkIiksICFsYXN0dmFsKSkpIHsK IAkJTGlua05vZGUgYWxuOwogCQljaGFyICoqbWVuZDsKLQkJaW50IGxlbjsKKwkJaW50IGxlbiA9 IDA7CiAKIAkJcXVldWVfc2lnbmFscygpOwotCQltZW5kID0gZ2V0YXBhcmFtKCJtZW5kIik7Ci0J CWxlbiA9IGF0b2kobWVuZFswXSk7CisJCWlmICgobWVuZCA9IGdldGFwYXJhbSgibWVuZCIpKSkK KwkJICAgIGxlbiA9IGF0b2kobWVuZFswXSk7CiAJCXVucXVldWVfc2lnbmFscygpOwogCiAJCWZv ciAoaSA9IGxlbjsgaTsgaS0tKQpkaWZmIC0tZ2l0IGEvU3JjL1psZS9jb21wY29yZS5jIGIvU3Jj L1psZS9jb21wY29yZS5jCmluZGV4IDc3ZmNlNjZlOC4uOWI4N2NhZDkzIDEwMDY0NAotLS0gYS9T cmMvWmxlL2NvbXBjb3JlLmMKKysrIGIvU3JjL1psZS9jb21wY29yZS5jCkBAIC0yMjQ5LDggKzIy NDksOSBAQCBhZGRtYXRjaGVzKENhZGF0YSBkYXQsIGNoYXIgKiphcmd2KQogCSAgICBsbHBsID0g c3RybGVuKGxwcmUpOwogCSAgICBsbHNsID0gc3RybGVuKGxzdWYpOwogCi0JICAgIGlmIChsbHBs ICsgKGludClzdHJsZW4oY29tcHFpcHJlZml4KSArIChpbnQpc3RybGVuKGxpcHJlKSAhPSBvcmln bHByZQotCSAgICAgfHwgbGxzbCArIChpbnQpc3RybGVuKGNvbXBxaXN1ZmZpeCkgKyAoaW50KXN0 cmxlbihsaXN1ZikgIT0gb3JpZ2xzdWYpCisJICAgIC8qIFRoaXMgdXNlZCB0byByZWZlcmVuY2Ug Y29tcHFpcHJlZml4IGFuZCBjb21wcWlzdWZmaXgsIHdoeT8gKi8KKwkgICAgaWYgKGxscGwgKyAo aW50KXN0cmxlbihxaXByZSkgKyAoaW50KXN0cmxlbihsaXByZSkgIT0gb3JpZ2xwcmUKKwkgICAg IHx8IGxsc2wgKyAoaW50KXN0cmxlbihxaXN1ZikgKyAoaW50KXN0cmxlbihsaXN1ZikgIT0gb3Jp Z2xzdWYpCiAJCWxlbmNoYW5nZWQgPSAxOwogCiAJICAgIC8qIFRlc3QgaWYgdGhlcmUgaXMgYW4g ZXhpc3RpbmcgLVAgcHJlZml4LiAqLwpkaWZmIC0tZ2l0IGEvU3JjL1psZS9jb21wcmVzdWx0LmMg Yi9TcmMvWmxlL2NvbXByZXN1bHQuYwppbmRleCA1Nzc4OWMwZjMuLmNkOGM3ZGQ2NCAxMDA2NDQK LS0tIGEvU3JjL1psZS9jb21wcmVzdWx0LmMKKysrIGIvU3JjL1psZS9jb21wcmVzdWx0LmMKQEAg LTg5Nyw3ICs4OTcsNyBAQCB2b2lkCiBkb19hbGxtYXRjaGVzKFVOVVNFRChpbnQgZW5kKSkKIHsK ICAgICBpbnQgZmlyc3QgPSAxLCBubSA9IG5tYXRjaGVzIC0gMSwgb21jID0gbWVudWNtcCwgb21h ID0gbWVudWFjYywgZTsKLSAgICBDbWF0Y2ggKm1jOworICAgIENtYXRjaCAqbWMgPSAwOwogICAg IHN0cnVjdCBtZW51aW5mbyBtaTsKICAgICBjaGFyICpwID0gKGJyYmVnID8genRyZHVwKGxhc3Ri cmJlZy0+c3RyKSA6IE5VTEwpOwogCkBAIC05MTUsMTAgKzkxNSwxMCBAQCBkb19hbGxtYXRjaGVz KFVOVVNFRChpbnQgZW5kKSkKICNlbmRpZgogICAgIH0KIAorICAgIGlmIChtaW5mby5ncm91cCkK KwltYyA9IChtaW5mby5ncm91cCktPm1hdGNoZXM7CiAKLSAgICBtYyA9IChtaW5mby5ncm91cCkt Pm1hdGNoZXM7Ci0KLSAgICB3aGlsZSAoMSkgeworICAgIHdoaWxlIChtYykgewogCWlmICghKCgq bWMpLT5mbGFncyAmIENNRl9BTEwpKSB7CiAJICAgIGlmICghZmlyc3QpCiAJCWFjY2VwdF9sYXN0 KCk7CkBAIC0xNzMxLDggKzE3MzEsNiBAQCBjYWxjbGlzdChpbnQgc2hvd2FsbCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDwgenRlcm1fY29sdW1ucyAmJiBudGggPCBn LT5kY291bnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudGgrKywgdGNvbCsr KSB7CiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSA9ICpwOwotCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0Y29sID09IHRjb2xzKSB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0Y29sID0gMDsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRsaW5lcysrOwpAQCAtMTk5NCw3ICsxOTkyLDYgQEAgcHJpbnRsaXN0 KGludCBvdmVyLCBDTFByaW50RnVuYyBwcmludG0sIGludCBzaG93YWxsKQogCQkgICAgIChsaXN0 ZGF0Lm9ubHlleHBsICYgKCgqZSktPmFsd2F5cyA+IDAgPyAyIDogMSkpKSkgewogCQkgICAgaWYg KHBubCkgewogCQkJcHV0YygnXG4nLCBzaG91dCk7Ci0JCQlwbmwgPSAwOwogCQkJbWwrKzsKIAkJ CWlmIChjbCA+PSAwICYmIC0tY2wgPD0gMSkgewogCQkJICAgIGNsID0gLTE7CkBAIC0yMDg3LDcg KzIwODQsNiBAQCBwcmludGxpc3QoaW50IG92ZXIsIENMUHJpbnRGdW5jIHByaW50bSwgaW50IHNo b3dhbGwpCiAgICAgICAgICAgICAgICAgICAgICAgICAoc2hvd2FsbCB8fCAhKG0tPmZsYWdzICYg KENNRl9ISURFfENNRl9OT0xJU1QpKSkpIHsKIAkJCWlmIChwbmwpIHsKIAkJCSAgICBwdXRjKCdc bicsIHNob3V0KTsKLQkJCSAgICBwbmwgPSAwOwogCQkJICAgIG1sKys7CiAJCQkgICAgaWYgKGNs ID49IDAgJiYgLS1jbCA8PSAxKSB7CiAJCQkJY2wgPSAtMTsKZGlmZiAtLWdpdCBhL1NyYy9idWls dGluLmMgYi9TcmMvYnVpbHRpbi5jCmluZGV4IDMxYWY2NmM3Yy4uOWUwOGExZGJjIDEwMDY0NAot LS0gYS9TcmMvYnVpbHRpbi5jCisrKyBiL1NyYy9idWlsdGluLmMKQEAgLTY1MDgsNiArNjUwOCw3 IEBAIGJpbl9yZWFkKGNoYXIgKm5hbWUsIGNoYXIgKiphcmdzLCBPcHRpb25zIG9wcywgVU5VU0VE KGludCBmdW5jKSkKIAogICAgIGlmIChPUFRfSVNTRVQob3BzLCdzJykgJiYgU0hUVFkgPT0gcmVh ZGZkKSB7CiAJc3RydWN0IHR0eWluZm8gdGk7CisJbWVtc2V0KCZ0aSwgMCwgc2l6ZW9mKHN0cnVj dCB0dHlpbmZvKSk7CiAJZ2V0dHlpbmZvKCZ0aSk7CiAJc2F2ZXRpID0gdGk7CiAJcmVzZXR0dHkg PSAxOwpAQCAtNjYwNiw3ICs2NjA3LDggQEAgYmluX3JlYWQoY2hhciAqbmFtZSwgY2hhciAqKmFy Z3MsIE9wdGlvbnMgb3BzLCBVTlVTRUQoaW50IGZ1bmMpKQogCQllbHNlIGlmIChyZXNldHR0eSAm JiBTSFRUWSAhPSAtMSkKIAkJICAgIHNldHR5aW5mbygmc2F2ZXRpKTsKIAkJaWYgKGhhc28pIHsK LQkJICAgIGZjbG9zZShzaG91dCk7CisJCSAgICBpZiAoc2hvdXQpCisJCQlmY2xvc2Uoc2hvdXQp OwogCQkgICAgc2hvdXQgPSBvc2hvdXQ7CiAJCSAgICBTSFRUWSA9IC0xOwogCQl9CmRpZmYgLS1n aXQgYS9TcmMvZ2xvYi5jIGIvU3JjL2dsb2IuYwppbmRleCA2M2Y4YTVmYTcuLmJkMTk5YWNlMyAx MDA2NDQKLS0tIGEvU3JjL2dsb2IuYworKysgYi9TcmMvZ2xvYi5jCkBAIC0xMzE3LDcgKzEzMTcs OCBAQCB6Z2xvYihMaW5rTGlzdCBsaXN0LCBMaW5rTm9kZSBucCwgaW50IG5vdW50b2spCiAJCXNl bnNlID0gMDsKIAkJaWYgKHF1YWxjdCkgewogCQkgICAgcW4gPSAoc3RydWN0IHF1YWwgKiloY2Fs bG9jKHNpemVvZiAqcW4pOwotCQkgICAgcW8tPm9yID0gcW47CisJCSAgICBpZiAocW8pCisJCQlx by0+b3IgPSBxbjsKIAkJICAgIHFvID0gcW47CiAJCSAgICBxdWFsb3JjdCsrOwogCQkgICAgcXVh bGN0ID0gMDsKZGlmZiAtLWdpdCBhL1NyYy9oaXN0LmMgYi9TcmMvaGlzdC5jCmluZGV4IGJmYmNk NmVkZS4uNDQ4ZGZkZGJjIDEwMDY0NAotLS0gYS9TcmMvaGlzdC5jCisrKyBiL1NyYy9oaXN0LmMK QEAgLTEzNTksNyArMTM1OSw4IEBAIHB1dG9sZGhpc3RlbnRyeW9udG9wKHNob3J0IGtlZXBfZ29p bmcpCiAJZG8gewogCSAgICBpZiAobWF4X3VuaXF1ZV9jdC0tIDw9IDAgfHwgaGUgPT0gaGlzdF9y aW5nKSB7CiAJCW1heF91bmlxdWVfY3QgPSAwOwotCQloZSA9IGhpc3RfcmluZy0+ZG93bjsKKwkJ aWYgKGhpc3RfcmluZykKKwkJICAgIGhlID0gaGlzdF9yaW5nLT5kb3duOwogCQluZXh0ID0gaGlz dF9yaW5nOwogCQlicmVhazsKIAkgICAgfQpAQCAtMTM2NywxMiArMTM2OCwxNiBAQCBwdXRvbGRo aXN0ZW50cnlvbnRvcChzaG9ydCBrZWVwX2dvaW5nKQogCSAgICBuZXh0ID0gaGUtPmRvd247CiAJ fSB3aGlsZSAoIShoZS0+bm9kZS5mbGFncyAmIEhJU1RfRFVQKSk7CiAgICAgfQotICAgIGlmICho ZSAhPSBoaXN0X3JpbmctPmRvd24pIHsKKyAgICAvKiBJcyBpdCByZWFsbHkgcG9zc2libGUgZm9y IGhpc3RfcmluZyB0byBiZSBOVUxMIGhlcmU/ICovCisgICAgaWYgKGhlICYmICghaGlzdF9yaW5n IHx8IGhlICE9IGhpc3RfcmluZy0+ZG93bikpIHsKIAloZS0+dXAtPmRvd24gPSBoZS0+ZG93bjsK IAloZS0+ZG93bi0+dXAgPSBoZS0+dXA7CiAJaGUtPnVwID0gaGlzdF9yaW5nOwotCWhlLT5kb3du ID0gaGlzdF9yaW5nLT5kb3duOwotCWhpc3RfcmluZy0+ZG93biA9IGhlLT5kb3duLT51cCA9IGhl OworCWlmIChoaXN0X3JpbmcpIHsKKwkgICAgaGUtPmRvd24gPSBoaXN0X3JpbmctPmRvd247CisJ ICAgIGhpc3RfcmluZy0+ZG93biA9IGhlOworCX0KKwloZS0+ZG93bi0+dXAgPSBoZTsKICAgICB9 CiAgICAgaGlzdF9yaW5nID0gaGU7CiB9CkBAIC0xNDY4LDcgKzE0NzMsNyBAQCBzaG91bGRfaWdu b3JlX2xpbmUoRXByb2cgcHJvZykKIG1vZF9leHBvcnQgaW50CiBoZW5kKEVwcm9nIHByb2cpCiB7 Ci0gICAgaW50IGZsYWcsIGhvb2tyZXQsIHN0YWNrX3BvcyA9IGhpc3RzYXZlX3N0YWNrX3BvczsK KyAgICBpbnQgZmxhZywgaG9va3JldCA9IDAsIHN0YWNrX3BvcyA9IGhpc3RzYXZlX3N0YWNrX3Bv czsKICAgICAvKgogICAgICAqIHNhdmU6CiAgICAgICogMDogZG9uJ3Qgc2F2ZQpkaWZmIC0tZ2l0 IGEvU3JjL2lucHV0LmMgYi9TcmMvaW5wdXQuYwppbmRleCBkZDhmMmVkYzcuLmQ4YWMyYzBlNyAx MDA2NDQKLS0tIGEvU3JjL2lucHV0LmMKKysrIGIvU3JjL2lucHV0LmMKQEAgLTY0MywxOCArNjQz LDYgQEAgenN0dWZmKGNoYXIgKipvdXQsIGNvbnN0IGNoYXIgKmZuKQogICAgIHJldHVybiBsZW47 CiB9CiAKLS8qKi8KLWNoYXIgKgotenR1ZmYoY29uc3QgY2hhciAqZm4pCi17Ci0gICAgY2hhciAq YnVmOwotICAgIG9mZl90IGxlbiA9IHpzdHVmZigmYnVmLCBmbik7Ci0gICAgaWYgKGxlbiA+IDAp Ci0JcmV0dXJuIGJ1ZjsKLSAgICBlbHNlCi0JcmV0dXJuIE5VTEw7Ci19Ci0KIC8qIHN0dWZmIGEg d2hvbGUgZmlsZSBpbnRvIHRoZSBpbnB1dCBxdWV1ZSBhbmQgcHJpbnQgaXQgKi8KIAogLyoqLwpk aWZmIC0tZ2l0IGEvU3JjL3BhcmFtcy5jIGIvU3JjL3BhcmFtcy5jCmluZGV4IDk1NzY1NmUzZi4u OWYwY2JjZDY3IDEwMDY0NAotLS0gYS9TcmMvcGFyYW1zLmMKKysrIGIvU3JjL3BhcmFtcy5jCkBA IC02MzI2LDEwICs2MzI2LDkgQEAgbW9kX2V4cG9ydCBQYXJhbQogdXBzY29wZShQYXJhbSBwbSwg aW50IHJlZmxldmVsKQogewogICAgIFBhcmFtIHVwID0gcG0tPm9sZDsKLSAgICB3aGlsZSAocG0g JiYgdXAgJiYgdXAtPmxldmVsID49IHJlZmxldmVsKSB7CisgICAgd2hpbGUgKHVwICYmIHVwLT5s ZXZlbCA+PSByZWZsZXZlbCkgewogCXBtID0gdXA7Ci0JaWYgKHVwKQotCSAgICB1cCA9IHVwLT5v bGQ7CisJdXAgPSB1cC0+b2xkOwogICAgIH0KICAgICByZXR1cm4gcG07CiB9CmRpZmYgLS1naXQg YS9TcmMvdXRpbHMuYyBiL1NyYy91dGlscy5jCmluZGV4IDc5MDYyNTM3OS4uMGY2Njk4NGNkIDEw MDY0NAotLS0gYS9TcmMvdXRpbHMuYworKysgYi9TcmMvdXRpbHMuYwpAQCAtNzUyMyw4ICs3NTIz LDggQEAgcmVzdG9yZWRpcihzdHJ1Y3QgZGlyc2F2ICpkKQogICAgIGVsc2UgaWYgKGQtPmxldmVs IDwgMCkKIAllcnIgPSAtMTsKICAgICBpZiAoZC0+ZGV2IHx8IGQtPmlubykgewotCXN0YXQoIi4i LCAmc2J1Zik7Ci0JaWYgKHNidWYuc3RfaW5vICE9IGQtPmlubyB8fCBzYnVmLnN0X2RldiAhPSBk LT5kZXYpCisJaWYgKHN0YXQoIi4iLCAmc2J1ZikgPCAwIHx8CisJICAgIHNidWYuc3RfaW5vICE9 IGQtPmlubyB8fCBzYnVmLnN0X2RldiAhPSBkLT5kZXYpCiAJICAgIGVyciA9IC0yOwogICAgIH0K ICAgICByZXR1cm4gZXJyOwo= --00000000000027341a0608964878--