Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vqRMA-00ApG7-29 for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Feb 2026 07:43:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqRM8-007N0I-1I for pgsql-hackers@arkaria.postgresql.org; Thu, 12 Feb 2026 07:43:21 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vqRM8-007N0A-03 for pgsql-hackers@lists.postgresql.org; Thu, 12 Feb 2026 07:43:20 +0000 Received: from mail-yw1-x1129.google.com ([2607:f8b0:4864:20::1129]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vqRM6-00000000HO9-1zjg for pgsql-hackers@postgresql.org; Thu, 12 Feb 2026 07:43:20 +0000 Received: by mail-yw1-x1129.google.com with SMTP id 00721157ae682-790884840baso73941907b3.0 for ; Wed, 11 Feb 2026 23:43:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770882196; cv=none; d=google.com; s=arc-20240605; b=S2+7ERS/z5OQF9upylEwSkHxK9yjqIjLM7LahkA/MTUpdeBFOYx7OKWOw6o3/jISeM 7hdzm/QUNFmtk+M/wCzdn1+Ely6QJ1ZEAbgN51OvUtergFmbdxqwlVAmAulyeLn3faW+ yxMMIuPTduiGdW0fXUh2zD/FDmoWCEkMw1Rb3fLXsmBZZa4QKWLeNvsQ4wV9Y36hrKhv Sxl6o+SRcL9V/f/rUoSVObtl/NpnYWG7QT27FnxSUHu/Qc5NE62cnbpv8m2jCVvrmQON H6i9vFtJ0Y/5pcv0pWhoIOl4XcE9T4l7be/cAPw2vEVR+olXFX81J5JXLz68WZa2sjHR KBlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=a6OmgR6v6jYZc9hXAty22GTakhTTxUTdsgOG3xQEx5k=; fh=IGuDNqhJFnhnT5+mP8Bm2McT7BDaMvAB5UN7bJYnOH8=; b=RMK2hZ/8gXo/pg6nImwBokAUNEOubBf3OLVi3oucix6J7djpmpTwAhJmWLC0BaRQ1G 9yNJBDeq6TOnQBZ/FZSlaHt/u9jsaSVYff7x1aGEy4n5wfP8IQ5i+HLqf4xPyJScBZx0 wVYjs/9X6W85Ix9SiPZpnodr5UDs/rinlOtp9SbKg7eUSys2XqUTItr1FiRwsVKPzwT2 xXFaBJwAHr7UDMpReABnwAJJ5v6fRXRoi/3cSeWfVEG/FwqjvhQzXK0dLSutu9yZSoV6 usoBKx3cfO0KxC7b4BgGex/bjl5ZsBO8QjfKh8C9D25pfsVByIbrkI3CFg+Hmctz1ovD DiCw==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; t=1770882196; x=1771486996; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=a6OmgR6v6jYZc9hXAty22GTakhTTxUTdsgOG3xQEx5k=; b=LmUIbgsVAjp/FQD3Nc9OZLzeo4TowAYqO14MWT1NZPk/Oh/0JtWn2TE44zb28tVUg9 TsoWYmtT2n+pFzUWQjVHUAZNP0TxFvCp37k/Fr0PU4SGCMBqQoknjYUNuyoavpOGNwyL ky/qWH475R6qmJlVno6H5Cjqi5AFYYDssbDPg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770882196; x=1771486996; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=a6OmgR6v6jYZc9hXAty22GTakhTTxUTdsgOG3xQEx5k=; b=tu50AyJRZKxImiYiuVWEfup7Y5Xat5ma/HUvJBo5otyKB6/6zPholFsKdSb4MBRAjN JDARPo1+6gf47/MSrQxu88zZJRo6md0BTyUuNkx3LMEFprvTWnB1ZWe2DvbRAExf1HX8 NppxQhmU+OaCNiPJbokRN0pYkc527IOngr4t3OSWxLmuZgB6cByD+XWP2D2VPEbFaEce 2qCHfYDSVbdm/pOqNfsgrWL26aU9x438XMWg71zI8uCNvwHFt4rsNw1d/PHY4bhoyPyG VZTBbsHMWaF6SZQRRsETpaIhZPCKnvH2nZZ1Y5C56zam8JWiNFhi4e5DKQq1r9xmfQWN UkRA== X-Gm-Message-State: AOJu0YxBOxnKfXotiT0IGjr4Ur7Xp/w3vIDp1ny+SfadupHNbkilZgxE rKniWDIWeiI2aXu9tc4we/YX29vd+z6EBkBHF9HzexyMEDEtpvEwQkwJdrespjqoCCt/y5DgvHm YKg5XNP8sVK/wMw2TWorv5/vJNk1bPMKkn0lD4FwyJQ== X-Gm-Gg: AZuq6aJlyulxsgsrElTjxU+oxVP9Xqe7bZydYvxq2hRolbdy5AivF8PicKdmpc4Wn3O c+COxknePBjVdQgBNdofRp6sWPbKFHYnbhPEprV5wIZ+Dy/nE1CTksDZFfvU5vAJ6b0zSJP4EhM Up0UPnXLuM4Cqfvzk1EKU8LG1rdvuOScHpv3cTsNvOPZgqcoapHmMocsschy+m4pRKEqxr9cORv nKy2n32WXuw4pQh8I0lH7+/nu3+7Yqn8NSUe0acwkjAnmpcXAvaqbPnMPnAtzGy+Wo+V8xqC3wU LTdPbdm8lpmiB7Sw X-Received: by 2002:a05:690c:46c4:b0:796:2fde:5def with SMTP id 00721157ae682-797376729a1mr22851357b3.45.1770882194484; Wed, 11 Feb 2026 23:43:14 -0800 (PST) MIME-Version: 1.0 References: <0cbf5d34-f117-456f-bcc0-50fa9a8eafba@gmail.com> In-Reply-To: From: Anthonin Bonnefoy Date: Thu, 12 Feb 2026 08:43:03 +0100 X-Gm-Features: AZwV_QjmhYGMXGjgT8CVv0qiYQ7tn0T6nOLpwgfgOKnttWHdlMHCo9ZgSFbouWo Message-ID: Subject: Re: Propagate XLogFindNextRecord error to callers To: Mircea Cadariu Cc: PostgreSQL Hackers , Japin Li Content-Type: multipart/mixed; boundary="000000000000254cb8064a9ba4b1" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000254cb8064a9ba4b1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Feb 11, 2026 at 1:16=E2=80=AFPM Mircea Cadariu wrote: > Indeed. Should we place this initialisation at the top of > XLogFindNextRecord, before any processing? At that point, there's > nothing to erase. That makes sense, I've added the '*errormsg =3D NULL' at the top of the fun= ction. > You can consider capitalising. Done --000000000000254cb8064a9ba4b1 Content-Type: application/octet-stream; name="v5-0001-Propagate-errormsg-to-XLogFindNextRecord-caller.patch" Content-Disposition: attachment; filename="v5-0001-Propagate-errormsg-to-XLogFindNextRecord-caller.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mlj5hp9y0 RnJvbSAzZDNjYTVhYjNjNmY2ZDJlN2MyNzU3NThkYmI5NTFlODRkMjg5ZTVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob25pbiBCb25uZWZveSA8YW50aG9uaW4uYm9ubmVmb3lA ZGF0YWRvZ2hxLmNvbT4KRGF0ZTogRnJpLCAxMiBEZWMgMjAyNSAwOTo1NjowMCArMDEwMApTdWJq ZWN0OiBQcm9wYWdhdGUgZXJyb3Jtc2cgdG8gWExvZ0ZpbmROZXh0UmVjb3JkIGNhbGxlcgoKQ3Vy cmVudGx5LCBYTG9nRmluZE5leHRSZWNvcmQgZXJyb3Jtc2cgaXMgaWdub3JlZCBhbmQgY2FsbGVy cyB3aWxsIG9ubHkKb3V0cHV0IGEgZ2VuZXJpYyAnY291bGQgbm90IGZpbmQgYSB2YWxpZCByZWNv cmQnIG1lc3NhZ2Ugd2l0aG91dApkZXRhaWxzLgpBZGRpdGlvbmFsbHksIGludmFsaWQgcGFnZSBo ZWFkZXIgd29uJ3QgZ28gdGhyb3VnaCBYTG9nUmVhZFJlY29yZCwKbGVhdmluZyB0aGUgZXJyb3Ig aW4gc3RhdGUtPmVycm9ybXNnX2J1Zi4KClRoaXMgcGF0Y2ggcHJvcGFnYXRlcyBYTG9nRmluZE5l eHRSZWNvcmQncyBlcnJvciBtZXNzYWdlIHRvIHRoZSBjYWxsZXJzCmFuZCBkaXNwbGF5cyBpdC4g SW4gY2FzZSBvZiBhbiBpbnZhbGlkIHBhZ2UgaGVhZGVyLCB0aGUgZXJyb3Jtc2cgaXMKZmlsbGVk IHdpdGggZXJyb3Jtc2dfYnVmIGNvbnRlbnQuCi0tLQogY29udHJpYi9wZ193YWxpbnNwZWN0L3Bn X3dhbGluc3BlY3QuYyAgIHwgMTYgKysrKysrKysrKysrLS0tLQogc3JjL2JhY2tlbmQvYWNjZXNz L3RyYW5zYW0veGxvZ3JlYWRlci5jIHwgMTggKysrKysrKysrKysrKysrLS0tCiBzcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL3dhbHN1bW1hcml6ZXIuYyAgfCAxNyArKysrKysrKysrKystLS0tLQogc3Jj L2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1bXAuYyAgICAgICAgIHwgMTIgKysrKysrKysrLS0tCiBz cmMvYmluL3BnX3dhbGR1bXAvdC8wMDFfYmFzaWMucGwgICAgICAgfCAyMyArKysrKysrKysrKysr KysrKysrKysrKwogc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dyZWFkZXIuaCAgICAgICAgIHwgIDIg Ky0KIDYgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvY29udHJpYi9wZ193YWxpbnNwZWN0L3BnX3dhbGluc3BlY3QuYyBiL2NvbnRy aWIvcGdfd2FsaW5zcGVjdC9wZ193YWxpbnNwZWN0LmMKaW5kZXggNzE2YTA5MjJjNmIuLjk4ZGQz MWI2OWJiIDEwMDY0NAotLS0gYS9jb250cmliL3BnX3dhbGluc3BlY3QvcGdfd2FsaW5zcGVjdC5j CisrKyBiL2NvbnRyaWIvcGdfd2FsaW5zcGVjdC9wZ193YWxpbnNwZWN0LmMKQEAgLTk3LDYgKzk3 LDcgQEAgSW5pdFhMb2dSZWFkZXJTdGF0ZShYTG9nUmVjUHRyIGxzbikKIAlYTG9nUmVhZGVyU3Rh dGUgKnhsb2dyZWFkZXI7CiAJUmVhZExvY2FsWExvZ1BhZ2VOb1dhaXRQcml2YXRlICpwcml2YXRl X2RhdGE7CiAJWExvZ1JlY1B0cglmaXJzdF92YWxpZF9yZWNvcmQ7CisJY2hhcgkgICAqZXJyb3Jt c2c7CiAKIAkvKgogCSAqIFJlYWRpbmcgV0FMIGJlbG93IHRoZSBmaXJzdCBwYWdlIG9mIHRoZSBm aXJzdCBzZWdtZW50cyBpc24ndCBhbGxvd2VkLgpAQCAtMTI0LDEyICsxMjUsMTkgQEAgSW5pdFhM b2dSZWFkZXJTdGF0ZShYTG9nUmVjUHRyIGxzbikKIAkJCQkgZXJyZGV0YWlsKCJGYWlsZWQgd2hp bGUgYWxsb2NhdGluZyBhIFdBTCByZWFkaW5nIHByb2Nlc3Nvci4iKSkpOwogCiAJLyogZmlyc3Qg ZmluZCBhIHZhbGlkIHJlY3B0ciB0byBzdGFydCBmcm9tICovCi0JZmlyc3RfdmFsaWRfcmVjb3Jk ID0gWExvZ0ZpbmROZXh0UmVjb3JkKHhsb2dyZWFkZXIsIGxzbik7CisJZmlyc3RfdmFsaWRfcmVj b3JkID0gWExvZ0ZpbmROZXh0UmVjb3JkKHhsb2dyZWFkZXIsIGxzbiwgJmVycm9ybXNnKTsKIAog CWlmICghWExvZ1JlY1B0cklzVmFsaWQoZmlyc3RfdmFsaWRfcmVjb3JkKSkKLQkJZXJlcG9ydChF UlJPUiwKLQkJCQllcnJtc2coImNvdWxkIG5vdCBmaW5kIGEgdmFsaWQgcmVjb3JkIGFmdGVyICVY LyUwOFgiLAotCQkJCQkgICBMU05fRk9STUFUX0FSR1MobHNuKSkpOworCXsKKwkJaWYgKGVycm9y bXNnKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJybXNnKCJjb3VsZCBub3QgZmluZCBhIHZh bGlkIHJlY29yZCBhZnRlciAlWC8lMDhYOiAlcyIsCisJCQkJCQkgICBMU05fRk9STUFUX0FSR1Mo bHNuKSwgZXJyb3Jtc2cpKTsKKwkJZWxzZQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJZXJybXNn KCJjb3VsZCBub3QgZmluZCBhIHZhbGlkIHJlY29yZCBhZnRlciAlWC8lMDhYIiwKKwkJCQkJCSAg IExTTl9GT1JNQVRfQVJHUyhsc24pKSk7CisJfQogCiAJcmV0dXJuIHhsb2dyZWFkZXI7CiB9CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVhZGVyLmMgYi9zcmMv YmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVhZGVyLmMKaW5kZXggMDNhZGE4YWEwYzUuLmM4 YWE4NGU1NjUyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVh ZGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ3JlYWRlci5jCkBAIC0x MzkxLDEyICsxMzkxLDEzIEBAIFhMb2dSZWFkZXJSZXNldEVycm9yKFhMb2dSZWFkZXJTdGF0ZSAq c3RhdGUpCiAgKiBYTG9nUmVhZFJlY29yZCgpIHdpbGwgcmVhZCB0aGUgbmV4dCB2YWxpZCByZWNv cmQuCiAgKi8KIFhMb2dSZWNQdHIKLVhMb2dGaW5kTmV4dFJlY29yZChYTG9nUmVhZGVyU3RhdGUg KnN0YXRlLCBYTG9nUmVjUHRyIFJlY1B0cikKK1hMb2dGaW5kTmV4dFJlY29yZChYTG9nUmVhZGVy U3RhdGUgKnN0YXRlLCBYTG9nUmVjUHRyIFJlY1B0ciwgY2hhciAqKmVycm9ybXNnKQogewogCVhM b2dSZWNQdHIJdG1wUmVjUHRyOwogCVhMb2dSZWNQdHIJZm91bmQgPSBJbnZhbGlkWExvZ1JlY1B0 cjsKIAlYTG9nUGFnZUhlYWRlciBoZWFkZXI7Ci0JY2hhcgkgICAqZXJyb3Jtc2c7CisKKwkqZXJy b3Jtc2cgPSBOVUxMOwogCiAJQXNzZXJ0KFhMb2dSZWNQdHJJc1ZhbGlkKFJlY1B0cikpOwogCkBA IC0xNDgxLDcgKzE0ODIsNyBAQCBYTG9nRmluZE5leHRSZWNvcmQoWExvZ1JlYWRlclN0YXRlICpz dGF0ZSwgWExvZ1JlY1B0ciBSZWNQdHIpCiAJICogb3Igd2UganVzdCBqdW1wZWQgb3ZlciB0aGUg cmVtYWluaW5nIGRhdGEgb2YgYSBjb250aW51YXRpb24uCiAJICovCiAJWExvZ0JlZ2luUmVhZChz dGF0ZSwgdG1wUmVjUHRyKTsKLQl3aGlsZSAoWExvZ1JlYWRSZWNvcmQoc3RhdGUsICZlcnJvcm1z ZykgIT0gTlVMTCkKKwl3aGlsZSAoWExvZ1JlYWRSZWNvcmQoc3RhdGUsIGVycm9ybXNnKSAhPSBO VUxMKQogCXsKIAkJLyogcGFzdCB0aGUgcmVjb3JkIHdlJ3ZlIGZvdW5kLCBicmVhayBvdXQgKi8K IAkJaWYgKFJlY1B0ciA8PSBzdGF0ZS0+UmVhZFJlY1B0cikKQEAgLTE0OTYsNiArMTQ5NywxNyBA QCBYTG9nRmluZE5leHRSZWNvcmQoWExvZ1JlYWRlclN0YXRlICpzdGF0ZSwgWExvZ1JlY1B0ciBS ZWNQdHIpCiBlcnI6CiAJWExvZ1JlYWRlckludmFsUmVhZFN0YXRlKHN0YXRlKTsKIAorCS8qCisJ ICogV2UgbWF5IGhhdmUgcmVwb3J0ZWQgZXJyb3JzIGR1ZSB0byBpbnZhbGlkIFdBTCBoZWFkZXIs IHByb3BhZ2F0ZSB0aGUKKwkgKiBlcnJvciBtZXNzYWdlIHRvIHRoZSBjYWxsZXIuCisJICovCisJ aWYgKHN0YXRlLT5lcnJvcm1zZ19kZWZlcnJlZCkKKwl7CisJCWlmIChzdGF0ZS0+ZXJyb3Jtc2df YnVmWzBdICE9ICdcMCcpCisJCQkqZXJyb3Jtc2cgPSBzdGF0ZS0+ZXJyb3Jtc2dfYnVmOworCQlz dGF0ZS0+ZXJyb3Jtc2dfZGVmZXJyZWQgPSBmYWxzZTsKKwl9CisKIAlyZXR1cm4gSW52YWxpZFhM b2dSZWNQdHI7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvd2Fsc3Vt bWFyaXplci5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWxzdW1tYXJpemVyLmMKaW5kZXgg MmQ4ZjU3MDk5ZmQuLmY1MDk3NmE3Zjc2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFz dGVyL3dhbHN1bW1hcml6ZXIuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3dhbHN1bW1h cml6ZXIuYwpAQCAtOTE3LDYgKzkxNyw3IEBAIFN1bW1hcml6ZVdBTChUaW1lTGluZUlEIHRsaSwg WExvZ1JlY1B0ciBzdGFydF9sc24sIGJvb2wgZXhhY3QsCiAJV2FsU3VtbWFyeUlPIGlvOwogCUJs b2NrUmVmVGFibGUgKmJydGFiID0gQ3JlYXRlRW1wdHlCbG9ja1JlZlRhYmxlKCk7CiAJYm9vbAkJ ZmFzdF9mb3J3YXJkID0gdHJ1ZTsKKwljaGFyCSAgICplcnJvcm1zZzsKIAogCS8qIEluaXRpYWxp emUgcHJpdmF0ZSBkYXRhIGZvciB4bG9ncmVhZGVyLiAqLwogCXByaXZhdGVfZGF0YSA9IHBhbGxv YzBfb2JqZWN0KFN1bW1hcml6ZXJSZWFkTG9jYWxYTG9nUHJpdmF0ZSk7CkBAIC05NjgsNyArOTY5 LDcgQEAgU3VtbWFyaXplV0FMKFRpbWVMaW5lSUQgdGxpLCBYTG9nUmVjUHRyIHN0YXJ0X2xzbiwg Ym9vbCBleGFjdCwKIAl9CiAJZWxzZQogCXsKLQkJc3VtbWFyeV9zdGFydF9sc24gPSBYTG9nRmlu ZE5leHRSZWNvcmQoeGxvZ3JlYWRlciwgc3RhcnRfbHNuKTsKKwkJc3VtbWFyeV9zdGFydF9sc24g PSBYTG9nRmluZE5leHRSZWNvcmQoeGxvZ3JlYWRlciwgc3RhcnRfbHNuLCAmZXJyb3Jtc2cpOwog CQlpZiAoIVhMb2dSZWNQdHJJc1ZhbGlkKHN1bW1hcnlfc3RhcnRfbHNuKSkKIAkJewogCQkJLyoK QEAgLTk5Nyw5ICs5OTgsMTYgQEAgU3VtbWFyaXplV0FMKFRpbWVMaW5lSUQgdGxpLCBYTG9nUmVj UHRyIHN0YXJ0X2xzbiwgYm9vbCBleGFjdCwKIAkJCQlzd2l0Y2hfbHNuID0geGxvZ3JlYWRlci0+ RW5kUmVjUHRyOwogCQkJfQogCQkJZWxzZQotCQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCQllcnJt c2coImNvdWxkIG5vdCBmaW5kIGEgdmFsaWQgcmVjb3JkIGFmdGVyICVYLyUwOFgiLAotCQkJCQkJ CSAgIExTTl9GT1JNQVRfQVJHUyhzdGFydF9sc24pKSk7CisJCQl7CisJCQkJaWYgKGVycm9ybXNn KQorCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJCWVycm1zZygiY291bGQgbm90IGZpbmQgYSB2 YWxpZCByZWNvcmQgYWZ0ZXIgJVgvJTA4WDogJXMiLAorCQkJCQkJCQkgICBMU05fRk9STUFUX0FS R1Moc3RhcnRfbHNuKSwgZXJyb3Jtc2cpKTsKKwkJCQllbHNlCisJCQkJCWVyZXBvcnQoRVJST1Is CisJCQkJCQkJZXJybXNnKCJjb3VsZCBub3QgZmluZCBhIHZhbGlkIHJlY29yZCBhZnRlciAlWC8l MDhYIiwKKwkJCQkJCQkJICAgTFNOX0ZPUk1BVF9BUkdTKHN0YXJ0X2xzbikpKTsKKwkJCX0KIAkJ fQogCiAJCS8qIFdlIHNob3VsZG4ndCBnbyBiYWNrd2FyZC4gKi8KQEAgLTEwMTIsNyArMTAyMCw2 IEBAIFN1bW1hcml6ZVdBTChUaW1lTGluZUlEIHRsaSwgWExvZ1JlY1B0ciBzdGFydF9sc24sIGJv b2wgZXhhY3QsCiAJd2hpbGUgKDEpCiAJewogCQlpbnQJCQlibG9ja19pZDsKLQkJY2hhcgkgICAq ZXJyb3Jtc2c7CiAJCVhMb2dSZWNvcmQgKnJlY29yZDsKIAkJdWludDgJCXJtaWQ7CiAKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfd2FsZHVtcC9wZ193YWxkdW1wLmMgYi9zcmMvYmluL3BnX3dhbGR1 bXAvcGdfd2FsZHVtcC5jCmluZGV4IGYzNDQ2Mzg1ZDZhLi41MDNiYTc2ZTU1OSAxMDA2NDQKLS0t IGEvc3JjL2Jpbi9wZ193YWxkdW1wL3BnX3dhbGR1bXAuYworKysgYi9zcmMvYmluL3BnX3dhbGR1 bXAvcGdfd2FsZHVtcC5jCkBAIC0xMjEyLDExICsxMjEyLDE3IEBAIG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQogCQlwZ19mYXRhbCgib3V0IG9mIG1lbW9yeSB3aGlsZSBhbGxvY2F0aW5nIGEg V0FMIHJlYWRpbmcgcHJvY2Vzc29yIik7CiAKIAkvKiBmaXJzdCBmaW5kIGEgdmFsaWQgcmVjcHRy IHRvIHN0YXJ0IGZyb20gKi8KLQlmaXJzdF9yZWNvcmQgPSBYTG9nRmluZE5leHRSZWNvcmQoeGxv Z3JlYWRlcl9zdGF0ZSwgcHJpdmF0ZS5zdGFydHB0cik7CisJZmlyc3RfcmVjb3JkID0gWExvZ0Zp bmROZXh0UmVjb3JkKHhsb2dyZWFkZXJfc3RhdGUsIHByaXZhdGUuc3RhcnRwdHIsICZlcnJvcm1z Zyk7CiAKIAlpZiAoIVhMb2dSZWNQdHJJc1ZhbGlkKGZpcnN0X3JlY29yZCkpCi0JCXBnX2ZhdGFs KCJjb3VsZCBub3QgZmluZCBhIHZhbGlkIHJlY29yZCBhZnRlciAlWC8lMDhYIiwKLQkJCQkgTFNO X0ZPUk1BVF9BUkdTKHByaXZhdGUuc3RhcnRwdHIpKTsKKwl7CisJCWlmIChlcnJvcm1zZykKKwkJ CXBnX2ZhdGFsKCJjb3VsZCBub3QgZmluZCBhIHZhbGlkIHJlY29yZCBhZnRlciAlWC8lMDhYOiAl cyIsCisJCQkJCSBMU05fRk9STUFUX0FSR1MocHJpdmF0ZS5zdGFydHB0ciksIGVycm9ybXNnKTsK KwkJZWxzZQorCQkJcGdfZmF0YWwoImNvdWxkIG5vdCBmaW5kIGEgdmFsaWQgcmVjb3JkIGFmdGVy ICVYLyUwOFgiLAorCQkJCQkgTFNOX0ZPUk1BVF9BUkdTKHByaXZhdGUuc3RhcnRwdHIpKTsKKwl9 CiAKIAkvKgogCSAqIERpc3BsYXkgYSBtZXNzYWdlIHRoYXQgd2UncmUgc2tpcHBpbmcgZGF0YSBp ZiBgZnJvbWAgd2Fzbid0IGEgcG9pbnRlcgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ193YWxkdW1w L3QvMDAxX2Jhc2ljLnBsIGIvc3JjL2Jpbi9wZ193YWxkdW1wL3QvMDAxX2Jhc2ljLnBsCmluZGV4 IDVkYjVkMjAxMzZmLi4xODk4ODQ4ZTQxOCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ193YWxkdW1w L3QvMDAxX2Jhc2ljLnBsCisrKyBiL3NyYy9iaW4vcGdfd2FsZHVtcC90LzAwMV9iYXNpYy5wbApA QCAtNiw2ICs2LDcgQEAgdXNlIHdhcm5pbmdzIEZBVEFMID0+ICdhbGwnOwogdXNlIFBvc3RncmVT UUw6OlRlc3Q6OkNsdXN0ZXI7CiB1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7CiB1c2UgVGVz dDo6TW9yZTsKK3VzZSBGaWxlOjpDb3B5OwogCiBwcm9ncmFtX2hlbHBfb2soJ3BnX3dhbGR1bXAn KTsKIHByb2dyYW1fdmVyc2lvbl9vaygncGdfd2FsZHVtcCcpOwpAQCAtMjM2LDYgKzIzNywyOCBA QCBjb21tYW5kX2ZhaWxzX2xpa2UoCiAJcXIvZXJyb3I6IGVycm9yIGluIFdBTCByZWNvcmQgYXQv LAogCSdlcnJvcnMgYXJlIHNob3duIHdpdGggLS1xdWlldCcpOwogCisjIFdyb25nIFdBTCB2ZXJz aW9uLiBXZSBjb3B5IGFuIGV4aXN0aW5nIHdhbCBmaWxlIGFuZCBzZXQgdGhlCisjIHBhZ2UncyBt YWdpYyB2YWx1ZSB0byAwMDAwLgoreworCW15ICRicm9rZW5fd2FsX2RpciA9IFBvc3RncmVTUUw6 OlRlc3Q6OlV0aWxzOjp0ZW1wZGlyX3Nob3J0KCk7CisJbXkgJGJyb2tlbl93YWwgPSAiJGJyb2tl bl93YWxfZGlyLyRzdGFydF93YWxmaWxlIjsKKwljb3B5KCRub2RlLT5kYXRhX2RpciAuICcvcGdf d2FsLycgLiAkc3RhcnRfd2FsZmlsZSwgJGJyb2tlbl93YWwpCisJCXx8IGRpZSAiY29weWluZyAk c3RhcnRfd2FsZmlsZSAkISI7CisKKwlteSAkZmg7CisJb3BlbigkZmgsICcrPCcsICRicm9rZW5f d2FsKTsKKwlzeXNzZWVrKCRmaCwgMCwgMCkKKwkJb3IgQkFJTF9PVVQoInN5c3NlZWsgZmFpbGVk OiAkISIpOworCXN5c3dyaXRlKCRmaCwgcGFjaygiUyIsIDApKQorCQlvciBCQUlMX09VVCgic3lz d3JpdGUgZmFpbGVkOiAkISIpOworCWNsb3NlKCRmaCk7CisKKwljb21tYW5kX2ZhaWxzX2xpa2Uo CisJCVsgJ3BnX3dhbGR1bXAnLCAkYnJva2VuX3dhbCBdLAorCQkJcXIvaW52YWxpZCBtYWdpYyBu dW1iZXIgMDAwMC9pLAorCQkJJ2RldGFpbGVkIGVycm9yIG1lc3NhZ2Ugc2hvd24gZm9yIGludmFs aWQgV0FMIHBhZ2UgbWFnaWMnCisJKTsKK30KIAogIyBUZXN0IGZvcjogRGlzcGxheSBhIG1lc3Nh Z2UgdGhhdCB3ZSdyZSBza2lwcGluZyBkYXRhIGlmIGBmcm9tYAogIyB3YXNuJ3QgYSBwb2ludGVy IHRvIHRoZSBzdGFydCBvZiBhIHJlY29yZC4KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2FjY2Vz cy94bG9ncmVhZGVyLmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ3JlYWRlci5oCmluZGV4IDgw ZjFhNTQ4ZTA4Li41NjdkZjMzYWM4ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hs b2dyZWFkZXIuaAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ3JlYWRlci5oCkBAIC0zNDIs NyArMzQyLDcgQEAgZXh0ZXJuIHZvaWQgWExvZ1JlYWRlclNldERlY29kZUJ1ZmZlcihYTG9nUmVh ZGVyU3RhdGUgKnN0YXRlLAogCiAvKiBQb3NpdGlvbiB0aGUgWExvZ1JlYWRlciB0byBnaXZlbiBy ZWNvcmQgKi8KIGV4dGVybiB2b2lkIFhMb2dCZWdpblJlYWQoWExvZ1JlYWRlclN0YXRlICpzdGF0 ZSwgWExvZ1JlY1B0ciBSZWNQdHIpOwotZXh0ZXJuIFhMb2dSZWNQdHIgWExvZ0ZpbmROZXh0UmVj b3JkKFhMb2dSZWFkZXJTdGF0ZSAqc3RhdGUsIFhMb2dSZWNQdHIgUmVjUHRyKTsKK2V4dGVybiBY TG9nUmVjUHRyIFhMb2dGaW5kTmV4dFJlY29yZChYTG9nUmVhZGVyU3RhdGUgKnN0YXRlLCBYTG9n UmVjUHRyIFJlY1B0ciwgY2hhciAqKmVycm9ybXNnKTsKIAogLyogUmV0dXJuIHZhbHVlcyBmcm9t IFhMb2dQYWdlUmVhZENCLiAqLwogdHlwZWRlZiBlbnVtIFhMb2dQYWdlUmVhZFJlc3VsdAotLSAK Mi41Mi4wCgo= --000000000000254cb8064a9ba4b1--