From unknown Fri Jun 20 07:09:40 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#55719 <55719@debbugs.gnu.org> To: bug#55719 <55719@debbugs.gnu.org> Subject: Status: 29.0.50; various bindat strz bugs Reply-To: bug#55719 <55719@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:09:40 +0000 retitle 55719 29.0.50; various bindat strz bugs reassign 55719 emacs submitter 55719 Richard Hansen severity 55719 normal tag 55719 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon May 30 02:47:46 2022 Received: (at submit) by debbugs.gnu.org; 30 May 2022 06:47:46 +0000 Received: from localhost ([127.0.0.1]:42560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvZBm-0006Ow-Sw for submit@debbugs.gnu.org; Mon, 30 May 2022 02:47:46 -0400 Received: from lists.gnu.org ([209.51.188.17]:45392) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvWl8-0002FJ-Uy for submit@debbugs.gnu.org; Mon, 30 May 2022 00:12:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44858) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nvWl8-0000xT-Ix for bug-gnu-emacs@gnu.org; Mon, 30 May 2022 00:12:02 -0400 Received: from spork.scientician.org ([66.228.35.160]:40754) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nvWl5-0002fi-SZ for bug-gnu-emacs@gnu.org; Mon, 30 May 2022 00:12:01 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 672FF486D4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-spork; t=1653883917; bh=0YK8A0sVkLZHplqPvulmOQvx5FxoPqAsOGXqkNAqujg=; h=Date:From:Subject:To:From; b=R+2uUmIUacIWn2e93kZ5AUBKxuYt+IXGMmLC5rU5mh958jDRdHcNey3vBtJWznR3c nul9LPDNaphqIYX10YzL4ovsGYUweA1LddcUKTLAYwCTBKFWjvKoNZsks2N68KOz6j jqNrKfoJiXXM4jiNAq149JrtMvnbiZ3RCtfe63Jc= X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id E8E66201B8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1653883913; bh=0YK8A0sVkLZHplqPvulmOQvx5FxoPqAsOGXqkNAqujg=; h=Date:From:Subject:To:From; b=HBxYlvkca7VFr+EkiSfV9Cg8j6i1yyFxDnlN5kdaivS657R7pF7cnKCSYhMCwbiQq exFdoXRIcQAkjXmu2UEB7oFeHgS0ORuLUnrwmNkOUnA0E1vcJbXTH/Ovhi3YY1xKxX gZBAVd65shUwY0aygZIztL/BRs9/o+zmLHtD3XJE= Message-ID: <77e643ea-9e19-f4e3-c109-6233eb84d56b@rhansen.org> Date: Mon, 30 May 2022 00:11:54 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Content-Language: en-US From: Richard Hansen Subject: 29.0.50; various bindat strz bugs To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=66.228.35.160; envelope-from=rhansen@rhansen.org; helo=spork.scientician.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 30 May 2022 02:47:41 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) There are a number of bugs with strz packing and unpacking in the bindat package: (require 'bindat) (require 'ert) (let ((s (bindat-type :pack-var v (x strz :pack-val v) :unpack-val x))) ;; Bug: length doesn't count the null terminator. (ert-deftest t1 () (should (equal (bindat-length s "x") 2))) ;; Bug: pack doesn't include the null terminator. (ert-deftest t2 () (should (equal (bindat-pack s "x") "\170\0"))) ;; Bug: unpack throws (wrong-type-argument number-or-marker-p nil) (ert-deftest t3 () (should (equal (bindat-unpack s "\170\0") "x")))) (let ((s (bindat-type :pack-var v (x strz 2 :pack-val v) :unpack-val x))) ;; Bug: pack doesn't always include the null terminator. (ert-deftest t4 () (should (equal (bindat-pack s "xx") "\170\0")))) (let ((s '((x strz 2)))) ;; Bug: pack doesn't always include the null terminator. (ert-deftest t5 () (should (equal (bindat-pack s '((x . "xx"))) "\170\0")))) In addition to the above issues, legacy-style specs with no strz length, such as '((x strz)), do not work. But I suspect length only became optional when `bindat-type' was introduced, so that's probably not an issue. In GNU Emacs 29.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2022-05-29 built on sprinkles Repository revision: 7f7acf395697e4cfa470cfa2993b70c2308e95c1 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12013000 System Description: Ubuntu 20.04.4 LTS Configured using: 'configure --build=x86_64-linux-gnu --prefix=/usr '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --sharedstatedir=/var/lib --with-modules=yes --with-x=yes --with-x-toolkit=gtk3 --with-xwidgets=yes --without-pgtk' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB Important settings: value of $LC_MONETARY: en_US.UTF-8 value of $LC_NUMERIC: en_US.UTF-8 value of $LC_TIME: root.UTF-8 value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils ffap thingatpt url-parse auth-source eieio eieio-core eieio-loaddefs password-cache json url-vars help-fns radix-tree cl-print cl-extra ert map seq pp ewoc debug backtrace help-mode find-func bindat byte-opt bytecomp byte-compile cconv pcase cl-seq cl-macs gv time-date subr-x cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads xwidget-internal dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process emacs) Memory information: ((conses 16 74917 10902) (symbols 48 8201 0) (strings 32 23138 2251) (string-bytes 1 732663) (vectors 16 16128) (vector-slots 8 211715 13201) (floats 8 98 309) (intervals 56 475 0) (buffers 992 14)) From debbugs-submit-bounces@debbugs.gnu.org Mon May 30 15:42:00 2022 Received: (at 55719) by debbugs.gnu.org; 30 May 2022 19:42:00 +0000 Received: from localhost ([127.0.0.1]:46105 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvlH2-0001GV-Ka for submit@debbugs.gnu.org; Mon, 30 May 2022 15:42:00 -0400 Received: from spork.scientician.org ([66.228.35.160]:34336) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvieH-0001JH-5U for 55719@debbugs.gnu.org; Mon, 30 May 2022 12:53:46 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 32AD0485DF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-spork; t=1653929624; bh=LX1c+MahicHSZVUC25LsaRhAcn/ItvtgGGCD9RZQxQ0=; h=Date:To:Cc:From:Subject:From; b=EV7+qoMNCcPwi552ckUIZBoEzZGrr3vN+osqApejbAFvJKCXVjLfUlAHWf+csIoXu t8oARbqhWGXYg7s/5phqQlEx6KimSqzodFwhkCbKnsmit5GOH/Pf2dZdXNbI4W/vPQ 6EvuCYWaqdLeToALCLTgC/H0i/otP1UdDE3gnMNU= X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id 95A382003B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1653929621; bh=LX1c+MahicHSZVUC25LsaRhAcn/ItvtgGGCD9RZQxQ0=; h=Date:To:Cc:From:Subject:From; b=kPe/fB0CyC8iObPkvKtzhen9lkIU7hOMKv4cG5SR08r2QkVWn32IBFFNpzNpnbXfY 7lwrN3ucjZ6U848d5Ob4AvmyNaAnfuVBh4Ij+vbze59gh7N1UeckKh+3P8IDHSY6VJ rJVS1ZD5HJH/uorHbIZIHfQQaSnRaVXqfUezNEvo= Message-ID: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> Date: Mon, 30 May 2022 12:53:31 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Content-Language: en-US To: emacs-devel@gnu.org From: Richard Hansen Subject: [PATCH] bindat strz fixes Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------d1VCzKdJgZ0Q3ldX0bFkeGKF" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55719 X-Mailman-Approved-At: Mon, 30 May 2022 15:41:55 -0400 Cc: 55719@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------d1VCzKdJgZ0Q3ldX0bFkeGKF Content-Type: multipart/mixed; boundary="------------78Y26U0B2l0FM0KXoNKGV2vm"; protected-headers="v1" From: Richard Hansen To: emacs-devel@gnu.org Cc: 55719@debbugs.gnu.org Message-ID: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> Subject: [PATCH] bindat strz fixes --------------78Y26U0B2l0FM0KXoNKGV2vm Content-Type: multipart/mixed; boundary="------------xOjs1BiXbM0cDq3GYyAEMG8h" --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 VGhlIGF0dGFjaGVkIHNlcmllcyBvZiBwYXRjaGVzIHNob3VsZCBmaXggYnVnICM1NTcxOSAo aHR0cHM6Ly9kZWJidWdzLmdudS5vcmcvY2dpL2J1Z3JlcG9ydC5jZ2k/YnVnPTU1NzE5KS4N Cg0KSSBoYXZlIGFscmVhZHkgc2lnbmVkIHRoZSBjb3B5cmlnaHQgYXNzaWdubWVudCBhZ3Jl ZW1lbnQuDQoNClRoYW5rcywNClJpY2hhcmQNCg== --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/x-patch; charset=UTF-8; name="0001-bindat-tests-strz-Add-more-tests.patch" Content-Disposition: attachment; filename="0001-bindat-tests-strz-Add-more-tests.patch" Content-Transfer-Encoding: base64 RnJvbSA5MjIyM2RjNjBhY2M2NTMxYWM4NmJmY2VlMWVlYmMzOGY4MzA0ODQxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAxNzoxNTowNCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMS83XSA7IGJpbmRhdC10ZXN0cyAoc3Ryeik6IEFkZCBtb3JlIHRlc3RzCgotLS0K IHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCB8IDYwICsrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsIGIvdGVz dC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCmluZGV4IDc3MjJjZjZjMDIuLjUz YzBjMzU5ZDggMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0 cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwKQEAgLTE2 Miw0ICsxNjIsNjQgQEAgYmluZGF0LXRlc3QtLXJlY3Vyc2l2ZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChiaW5kYXQtcGFjayBiaW5kYXQtdGVzdC0tTEVC MTI4IG4pKQogICAgICAgICAgICAgICAgICAgICAgICAgIG4pKSkpKSkpCiAKKyhsZXQgKChz cGVjIChiaW5kYXQtdHlwZSA6cGFjay12YXIgdgorICAgICAgICAgICAgICAgICAgICAgICAg ICh4IHN0cnogMiA6cGFjay12YWwgdikKKyAgICAgICAgICAgICAgICAgICAgICAgICA6dW5w YWNrLXZhbCB4KSkpCisgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei1maXhlZGxl bi1sZW4gKCkKKyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LWxlbmd0aCBzcGVjICIiKSAy KSkKKyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LWxlbmd0aCBzcGVjICJhIikgMikpKQor CisgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei1maXhlZGxlbi1sZW4tb3ZlcmZs b3cgKCkKKyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LWxlbmd0aCBzcGVjICJhYmMiKSAy KSkpCisKKyAgKGVydC1kZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LWZpeGVkbGVuLXBhY2sg KCkKKyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXBhY2sgc3BlYyAiIikgIlwwXDAiKSkK KyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXBhY2sgc3BlYyAiYSIpICJcMTQxXDAiKSkp CisKKyAgKGVydC1kZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LWZpeGVkbGVuLXBhY2stb3Zl cmZsb3cgKCkKKyAgICA6ZXhwZWN0ZWQtcmVzdWx0IDpmYWlsZWQKKyAgICAoc2hvdWxkIChl cXVhbCAoYmluZGF0LXBhY2sgc3BlYyAiYWJjIikgIlwxNDFcMCIpKSkKKworICAoZXJ0LWRl ZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotZml4ZWRsZW4tdW5wYWNrICgpCisgICAgKHNob3Vs ZCAoZXF1YWwgKGJpbmRhdC11bnBhY2sgc3BlYyAiXDBcMCIpICIiKSkKKyAgICAoc2hvdWxk IChlcXVhbCAoYmluZGF0LXVucGFjayBzcGVjICJhXDAiKSAiYSIpKSkpCisKKyhsZXQgKChz cGVjIChiaW5kYXQtdHlwZSA6cGFjay12YXIgdgorICAgICAgICAgICAgICAgICAgICAgICAg ICh4IHN0cnogOnBhY2stdmFsIHYpCisgICAgICAgICAgICAgICAgICAgICAgICAgOnVucGFj ay12YWwgeCkpKQorICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotdmFybGVuLWxl biAoKQorICAgIDpleHBlY3RlZC1yZXN1bHQgOmZhaWxlZAorICAgIChzaG91bGQgKGVxdWFs IChiaW5kYXQtbGVuZ3RoIHNwZWMgIiIpIDEpKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5k YXQtbGVuZ3RoIHNwZWMgImFiYyIpIDQpKSkKKworICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRl c3QtLXN0cnotdmFybGVuLXBhY2sgKCkKKyAgICA6ZXhwZWN0ZWQtcmVzdWx0IDpmYWlsZWQK KyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXBhY2sgc3BlYyAiIikgIlwwIikpCisgICAg KHNob3VsZCAoZXF1YWwgKGJpbmRhdC1wYWNrIHNwZWMgImFiYyIpICJcMTQxXDE0MlwxNDNc MCIpKSkKKworICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotdmFybGVuLXVucGFj ayAoKQorICAgIDpleHBlY3RlZC1yZXN1bHQgOmZhaWxlZAorICAgIChzaG91bGQgKGVxdWFs IChiaW5kYXQtdW5wYWNrIHNwZWMgIlwwIikgIiIpKQorICAgIChzaG91bGQgKGVxdWFsIChi aW5kYXQtdW5wYWNrIHNwZWMgIlwxNDFcMTQyXDE0M1wwIikgImFiYyIpKSkpCisKKyhsZXQg KChzcGVjICcoKHggc3RyeiAyKSkpKQorICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0 cnotbGVnYWN5LWZpeGVkbGVuLWxlbiAoKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQt bGVuZ3RoIHNwZWMgJygoeCAuICIiKSkpIDIpKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5k YXQtbGVuZ3RoIHNwZWMgJygoeCAuICJhIikpKSAyKSkpCisKKyAgKGVydC1kZWZ0ZXN0IGJp bmRhdC10ZXN0LS1zdHJ6LWxlZ2FjeS1maXhlZGxlbi1sZW4tb3ZlcmZsb3cgKCkKKyAgICAo c2hvdWxkIChlcXVhbCAoYmluZGF0LWxlbmd0aCBzcGVjICcoKHggLiAiYWJjIikpKSAyKSkp CisKKyAgKGVydC1kZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LWxlZ2FjeS1maXhlZGxlbi1w YWNrICgpCisgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC1wYWNrIHNwZWMgJygoeCAuICIi KSkpICJcMFwwIikpCisgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC1wYWNrIHNwZWMgJygo eCAuICJhIikpKSAiXDE0MVwwIikpKQorCisgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0t c3Ryei1sZWdhY3ktZml4ZWRsZW4tcGFjay1vdmVyZmxvdyAoKQorICAgIDpleHBlY3RlZC1y ZXN1bHQgOmZhaWxlZAorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBzcGVjICco KHggLiAiYWJjIikpKSAiXDE0MVwwIikpKQorCisgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVz dC0tc3Ryei1sZWdhY3ktZml4ZWRsZW4tdW5wYWNrICgpCisgICAgKHNob3VsZCAoZXF1YWwg KGJpbmRhdC11bnBhY2sgc3BlYyAiXDBcMCIpICcoKHggLiAiIikpKSkKKyAgICAoc2hvdWxk IChlcXVhbCAoYmluZGF0LXVucGFjayBzcGVjICJhXDAiKSAnKCh4IC4gImEiKSkpKSkpCisK IDs7OyBiaW5kYXQtdGVzdHMuZWwgZW5kcyBoZXJlCi0tIAoyLjM2LjEKCg== --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/x-patch; charset=UTF-8; name="0002-bindat-strz-Fix-off-by-one-bug-in-computed-length.patch" Content-Disposition: attachment; filename*0="0002-bindat-strz-Fix-off-by-one-bug-in-computed-length.patch" Content-Transfer-Encoding: base64 RnJvbSBhZjY4OTljMWY2ZWNkZWI3NWZjYjQzYmVhNjAzZTUzY2JlN2E1ZjA0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU2F0LCAyOCBNYXkgMjAyMiAyMzoxMDo0NCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMi83XSBiaW5kYXQgKHN0cnopOiBGaXggb2ZmLWJ5LW9uZSBidWcgaW4gY29tcHV0 ZWQgbGVuZ3RoCgoqIGxpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwgKHN0cnopOiBJbmNsdWRl IG51bGwgdGVybWluYXRvciB3aGVuCmNvbXB1dGluZyBwYWNrZWQgc3RyaW5nIGxlbmd0aC4K KiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwgKHN0cnopOiBNYXJrIHRl c3RzIGFzIHBhc3NpbmcuCi0tLQogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAgICAgICAg ICAgIHwgNyArKystLS0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwg fCAyIC0tCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsIGIvbGlzcC9lbWFj cy1saXNwL2JpbmRhdC5lbAppbmRleCBjNmQ2NDk3NWVjLi5mNjY0NTgyOTZhIDEwMDY0NAot LS0gYS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9i aW5kYXQuZWwKQEAgLTY4NywxMCArNjg3LDkgQEAgYmluZGF0LS10eXBlCiAgIChiaW5kYXQt LXBjYXNlIG9wCiAgICAgKCd1bnBhY2sgYChiaW5kYXQtLXVucGFjay1zdHJ6ICxsZW4pKQog ICAgIChgKGxlbmd0aCAsdmFsKQotICAgICBgKGNsLWluY2YgYmluZGF0LWlkeCAsKGNvbmQK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKG51bGwgbGVuKSBgKGxlbmd0aCAsdmFs KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKG51bWJlcnAgbGVuKSBsZW4pCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQgYChvciAsbGVuIChsZW5ndGggLHZhbCkp KSkpKQorICAgICBgKGNsLWluY2YgYmluZGF0LWlkeCAsKGlmIChudW1iZXJwIGxlbikKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYCgxKyAobGVuZ3RoICx2YWwpKSkpKQogICAgIChgKHBhY2sgLiAsYXJncykK ICAgICAgKG1hY3JvZXhwLWxldDIgbmlsIGxlbiBsZW4KICAgICAgICBgKGlmICxsZW4KZGlm ZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCBiL3Rlc3Qv bGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbAppbmRleCA1M2MwYzM1OWQ4Li5lYTZk MTEwYjhiIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMu ZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCkBAIC0xODgs MTIgKzE4OCwxMCBAQCBiaW5kYXQtdGVzdC0tcmVjdXJzaXZlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgKHggc3RyeiA6cGFjay12YWwgdikKICAgICAgICAgICAgICAgICAgICAgICAg ICA6dW5wYWNrLXZhbCB4KSkpCiAgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei12 YXJsZW4tbGVuICgpCi0gICAgOmV4cGVjdGVkLXJlc3VsdCA6ZmFpbGVkCiAgICAgKHNob3Vs ZCAoZXF1YWwgKGJpbmRhdC1sZW5ndGggc3BlYyAiIikgMSkpCiAgICAgKHNob3VsZCAoZXF1 YWwgKGJpbmRhdC1sZW5ndGggc3BlYyAiYWJjIikgNCkpKQogCiAgIChlcnQtZGVmdGVzdCBi aW5kYXQtdGVzdC0tc3Ryei12YXJsZW4tcGFjayAoKQotICAgIDpleHBlY3RlZC1yZXN1bHQg OmZhaWxlZAogICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBzcGVjICIiKSAiXDAi KSkKICAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXBhY2sgc3BlYyAiYWJjIikgIlwxNDFc MTQyXDE0M1wwIikpKQogCi0tIAoyLjM2LjEKCg== --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/x-patch; charset=UTF-8; name="0003-bindat-strz-Consistent-length-type-check.patch" Content-Disposition: attachment; filename="0003-bindat-strz-Consistent-length-type-check.patch" Content-Transfer-Encoding: base64 RnJvbSBlNTA0ZDFlODUwYTU0NGQ2ZDEzOWE1MWJlZWU3YWQ1YzIxNTVjMDc5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU2F0LCAyOCBNYXkgMjAyMiAyMzo1Mzo1MSAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMy83XSA7IGJpbmRhdCAoc3Ryeik6IENvbnNpc3RlbnQgbGVuZ3RoIHR5cGUgY2hl Y2sKClRoZSBzdHJ6IGxlbmd0aCBjb21wdXRhdGlvbiB1c2VzIGBudW1iZXJwJyB0byBzd2l0 Y2ggYmV0d2VlbgpmaXhlZC1sZW5ndGggYW5kIHZhcmlhYmxlLWxlbmd0aCBtb2Rlcywgc28g cGFja2luZyBzaG91bGQgdG9vLgotLS0KIGxpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwgfCAx NCArKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsIGIv bGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAppbmRleCBmNjY0NTgyOTZhLi5kNjRiZTcyMWIy IDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCisrKyBiL2xpc3AvZW1h Y3MtbGlzcC9iaW5kYXQuZWwKQEAgLTY5MiwxMyArNjkyLDEzIEBAIGJpbmRhdC0tdHlwZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKDErIChsZW5ndGggLHZhbCkpKSkpCiAg ICAgKGAocGFjayAuICxhcmdzKQogICAgICAobWFjcm9leHAtbGV0MiBuaWwgbGVuIGxlbgot ICAgICAgIGAoaWYgLGxlbgotICAgICAgICAgICAgOzsgU2FtZSBhcyBub24temVybyB0ZXJt aW5hdGVkIHN0cmluZ3Mgc2luY2Ugd2UgZG9uJ3QgYWN0dWFsbHkgYWRkCi0gICAgICAgICAg ICA7OyB0aGUgdGVybWluYXRpbmcgemVybyBhbnl3YXkgKGJlY2F1c2Ugd2UgcmVseSBvbiB0 aGUgZmFjdCB0aGF0Ci0gICAgICAgICAgICA7OyBgYmluZGF0LXJhdycgd2FzIHByZXN1bWFi bHkgaW5pdGlhbGl6ZWQgd2l0aCBhbGwtemVyb2VzIGJlZm9yZQotICAgICAgICAgICAgOzsg d2Ugc3RhcnRlZCkuCi0gICAgICAgICAgICAoYmluZGF0LS1wYWNrLXN0ciAsbGVuIC4gLGFy Z3MpCi0gICAgICAgICAgKGJpbmRhdC0tcGFjay1zdHJ6IC4gLGFyZ3MpKSkpKSkKKyAgICAg ICAoaWYgKG51bWJlcnAgbGVuKQorICAgICAgICAgICA7OyBTYW1lIGFzIG5vbi16ZXJvIHRl cm1pbmF0ZWQgc3RyaW5ncyBzaW5jZSB3ZSBkb24ndCBhY3R1YWxseSBhZGQKKyAgICAgICAg ICAgOzsgdGhlIHRlcm1pbmF0aW5nIHplcm8gYW55d2F5IChiZWNhdXNlIHdlIHJlbHkgb24g dGhlIGZhY3QgdGhhdAorICAgICAgICAgICA7OyBgYmluZGF0LXJhdycgd2FzIHByZXN1bWFi bHkgaW5pdGlhbGl6ZWQgd2l0aCBhbGwtemVyb2VzIGJlZm9yZQorICAgICAgICAgICA7OyB3 ZSBzdGFydGVkKS4KKyAgICAgICAgICAgYChiaW5kYXQtLXBhY2stc3RyICxsZW4gLiAsYXJn cykKKyAgICAgICAgIGAoYmluZGF0LS1wYWNrLXN0cnogLiAsYXJncykpKSkpKQogCiAoY2wt ZGVmbWV0aG9kIGJpbmRhdC0tdHlwZSAob3AgKF8gKGVxbCAnYml0cykpICBsZW4pCiAgIChi aW5kYXQtLXBjYXNlIG9wCi0tIAoyLjM2LjEKCg== --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/x-patch; charset=UTF-8; name="0004-bindat-strz-Always-write-null-terminator.patch" Content-Disposition: attachment; filename="0004-bindat-strz-Always-write-null-terminator.patch" Content-Transfer-Encoding: base64 RnJvbSBhNzYxM2Y2MDVhZTBhY2JlM2EzZmQ4Y2RlMzk3NDY0NzA2Yzg4OTUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAxNzozMToxOCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNC83XSBiaW5kYXQgKHN0cnopOiBBbHdheXMgd3JpdGUgbnVsbCB0ZXJtaW5hdG9y CgoqIGxpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwgKHN0cnopOiBXaGVuIHNwZWNpZnlpbmcg YSBmaXhlZCBsZW5ndGggZm9yCmEgcGFja2VkIHN0cnogc3RyaW5nLCBtYWtlIHN1cmUgdGhl IG51bGwgdGVybWluYXRvciBpcyBhbHdheXMgd3JpdHRlbgpldmVuIGlmIHRoZSBsZW5ndGgg b2YgdGhlIHN0cmluZyB0byBwYWNrIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bwp0aGUg Zml4ZWQgbGVuZ3RoLgoqIHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCAo c3Ryeik6IE1hcmsgdGVzdCBhcyBwYXNzaW5nLgotLS0KIGxpc3AvZW1hY3MtbGlzcC9iaW5k YXQuZWwgICAgICAgICAgICB8IDEyICsrKysrKystLS0tLQogdGVzdC9saXNwL2VtYWNzLWxp c3AvYmluZGF0LXRlc3RzLmVsIHwgIDEgLQogMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2Jp bmRhdC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwKaW5kZXggZDY0YmU3MjFiMi4u MTJiMmQyMDk4MSAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCkBAIC02OTMsMTEgKzY5MywxMyBAQCBiaW5k YXQtLXR5cGUKICAgICAoYChwYWNrIC4gLGFyZ3MpCiAgICAgIChtYWNyb2V4cC1sZXQyIG5p bCBsZW4gbGVuCiAgICAgICAgKGlmIChudW1iZXJwIGxlbikKLSAgICAgICAgICAgOzsgU2Ft ZSBhcyBub24temVybyB0ZXJtaW5hdGVkIHN0cmluZ3Mgc2luY2Ugd2UgZG9uJ3QgYWN0dWFs bHkgYWRkCi0gICAgICAgICAgIDs7IHRoZSB0ZXJtaW5hdGluZyB6ZXJvIGFueXdheSAoYmVj YXVzZSB3ZSByZWx5IG9uIHRoZSBmYWN0IHRoYXQKLSAgICAgICAgICAgOzsgYGJpbmRhdC1y YXcnIHdhcyBwcmVzdW1hYmx5IGluaXRpYWxpemVkIHdpdGggYWxsLXplcm9lcyBiZWZvcmUK LSAgICAgICAgICAgOzsgd2Ugc3RhcnRlZCkuCi0gICAgICAgICAgIGAoYmluZGF0LS1wYWNr LXN0ciAsbGVuIC4gLGFyZ3MpCisgICAgICAgICAgIGAocHJvZ24KKyAgICAgICAgICAgICAg OzsgU2FtZSBhcyB0aGUgc3RyIHR5cGUsIGV4Y2VwdCBhbHdheXMgbGVhdmUgcm9vbSBmb3Ig dGhlIG51bGwKKyAgICAgICAgICAgICAgOzsgdGVybWluYXRvci4gVGhpcyBhc3N1bWVzIHRo YXQgYGxlbicgPiAwLgorICAgICAgICAgICAgICAoYmluZGF0LS1wYWNrLXN0ciAsKDEtIGxl bikgLiAsYXJncykKKyAgICAgICAgICAgICAgOzsgIldyaXRlIiB0aGUgbnVsbCB0ZXJtaW5h dG9yLiBUaGlzIGFzc3VtZXMgdGhhdCBgYmluZGF0LXJhdycgd2FzCisgICAgICAgICAgICAg IDs7IGluaXRpYWxpemVkIHdpdGggemVyb2VzLgorICAgICAgICAgICAgICAoc2V0cSBiaW5k YXQtaWR4ICgxKyBiaW5kYXQtaWR4KSkpCiAgICAgICAgICBgKGJpbmRhdC0tcGFjay1zdHJ6 IC4gLGFyZ3MpKSkpKSkKIAogKGNsLWRlZm1ldGhvZCBiaW5kYXQtLXR5cGUgKG9wIChfIChl cWwgJ2JpdHMpKSAgbGVuKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmlu ZGF0LXRlc3RzLmVsIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCmlu ZGV4IGVhNmQxMTBiOGIuLjUxNTJmNjdjMDEgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFj cy1saXNwL2JpbmRhdC10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5k YXQtdGVzdHMuZWwKQEAgLTE3Nyw3ICsxNzcsNiBAQCBiaW5kYXQtdGVzdC0tcmVjdXJzaXZl CiAgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC1wYWNrIHNwZWMgImEiKSAiXDE0MVwwIikp KQogCiAgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei1maXhlZGxlbi1wYWNrLW92 ZXJmbG93ICgpCi0gICAgOmV4cGVjdGVkLXJlc3VsdCA6ZmFpbGVkCiAgICAgKHNob3VsZCAo ZXF1YWwgKGJpbmRhdC1wYWNrIHNwZWMgImFiYyIpICJcMTQxXDAiKSkpCiAKICAgKGVydC1k ZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LWZpeGVkbGVuLXVucGFjayAoKQotLSAKMi4zNi4x Cgo= --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/x-patch; charset=UTF-8; name="0005-bindat-strz-Fix-wrong-type-argument-error-when-unpac.patch" Content-Disposition: attachment; filename*0="0005-bindat-strz-Fix-wrong-type-argument-error-when-unpac.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3ODdlYTM1NmFiYTE2YmNmOWRkMWY0MWQ1NWUzYWI3ZTExMjkyMTVjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAxODowOTowOCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNS83XSBiaW5kYXQgKHN0cnopOiBGaXggd3JvbmctdHlwZS1hcmd1bWVudCBlcnJv ciB3aGVuCiB1bnBhY2tpbmcKCiogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAoc3Ryeik6 IEZpeCAod3JvbmctdHlwZS1hcmd1bWVudApudW1iZXItb3ItbWFya2VyLXAgbmlsKSBlcnJv ciB3aGVuIHVucGFja2luZyBhIHN0cnogd2l0aAp1bnNwZWNpZmllZCAodmFyaWFibGUpIGxl bmd0aC4KKiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwgKHN0cnopOiBN YXJrIHRlc3QgYXMgcGFzc2luZy4KLS0tCiBsaXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsICAg ICAgICAgICAgfCA0ICsrLS0KIHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5l bCB8IDEgLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCBiL2xpc3AvZW1h Y3MtbGlzcC9iaW5kYXQuZWwKaW5kZXggMTJiMmQyMDk4MS4uMjAwOTVlZjZjZCAxMDA2NDQK LS0tIGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3Av YmluZGF0LmVsCkBAIC0xNjUsMTIgKzE2NSwxMiBAQCBiaW5kYXQtLXVucGFjay1zdHIKICAg ICAoaWYgKHN0cmluZ3AgcykgcwogICAgICAgKGFwcGx5ICMndW5pYnl0ZS1zdHJpbmcgcykp KSkKIAotKGRlZnVuIGJpbmRhdC0tdW5wYWNrLXN0cnogKGxlbikKKyhkZWZ1biBiaW5kYXQt LXVucGFjay1zdHJ6ICgmb3B0aW9uYWwgbGVuKQogICAobGV0ICgoaSAwKSBzKQogICAgICh3 aGlsZSAoYW5kIChpZiBsZW4gKDwgaSBsZW4pIHQpICgvPSAoYXJlZiBiaW5kYXQtcmF3ICgr IGJpbmRhdC1pZHggaSkpIDApKQogICAgICAgKHNldHEgaSAoMSsgaSkpKQogICAgIChzZXRx IHMgKHN1YnN0cmluZyBiaW5kYXQtcmF3IGJpbmRhdC1pZHggKCsgYmluZGF0LWlkeCBpKSkp Ci0gICAgKHNldHEgYmluZGF0LWlkeCAoKyBiaW5kYXQtaWR4IGxlbikpCisgICAgKHNldHEg YmluZGF0LWlkeCAoKyBiaW5kYXQtaWR4IChvciBsZW4gKDErIGkpKSkpCiAgICAgKGlmIChz dHJpbmdwIHMpIHMKICAgICAgIChhcHBseSAjJ3VuaWJ5dGUtc3RyaW5nIHMpKSkpCiAKZGlm ZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCBiL3Rlc3Qv bGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbAppbmRleCA1MTUyZjY3YzAxLi4wMWY5 ZDUxYWQwIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMu ZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCkBAIC0xOTUs NyArMTk1LDYgQEAgYmluZGF0LXRlc3QtLXJlY3Vyc2l2ZQogICAgIChzaG91bGQgKGVxdWFs IChiaW5kYXQtcGFjayBzcGVjICJhYmMiKSAiXDE0MVwxNDJcMTQzXDAiKSkpCiAKICAgKGVy dC1kZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LXZhcmxlbi11bnBhY2sgKCkKLSAgICA6ZXhw ZWN0ZWQtcmVzdWx0IDpmYWlsZWQKICAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXVucGFj ayBzcGVjICJcMCIpICIiKSkKICAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXVucGFjayBz cGVjICJcMTQxXDE0MlwxNDNcMCIpICJhYmMiKSkpKQogCi0tIAoyLjM2LjEKCg== --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/x-patch; charset=UTF-8; name="0006-bindat-strz-Move-all-pack-logic-to-pack-function.patch" Content-Disposition: attachment; filename*0="0006-bindat-strz-Move-all-pack-logic-to-pack-function.patch" Content-Transfer-Encoding: base64 RnJvbSA4MzBlZWFlNDE1MjJjZTU4ODUwMjFjMTg5ZTBkMDNjMDcxZmU0ZmM2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAyMToyMzo1NyAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNi83XSA7IGJpbmRhdCAoc3Ryeik6IE1vdmUgYWxsIHBhY2sgbG9naWMgdG8gcGFj ayBmdW5jdGlvbgoKLS0tCiBsaXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsIHwgMzAgKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9u cygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2Jp bmRhdC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwKaW5kZXggMjAwOTVlZjZjZC4u Y2YxN2U1NzY0ZCAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCkBAIC00MzksMTEgKzQzOSwxOSBAQCBiaW5k YXQtLXBhY2stc3RyCiAgICAgKGFzZXQgYmluZGF0LXJhdyAoKyBiaW5kYXQtaWR4IGkpIChh cmVmIHYgaSkpKQogICAoc2V0cSBiaW5kYXQtaWR4ICgrIGJpbmRhdC1pZHggbGVuKSkpCiAK LShkZWZ1biBiaW5kYXQtLXBhY2stc3RyeiAodikKLSAgKGxldCAoKGxlbiAobGVuZ3RoIHYp KSkKLSAgICAoZG90aW1lcyAoaSBsZW4pCi0gICAgICAoYXNldCBiaW5kYXQtcmF3ICgrIGJp bmRhdC1pZHggaSkgKGFyZWYgdiBpKSkpCi0gICAgKHNldHEgYmluZGF0LWlkeCAoKyBiaW5k YXQtaWR4IGxlbiAxKSkpKQorKGRlZnVuIGJpbmRhdC0tcGFjay1zdHJ6IChsZW4gdikKKyAg KGlmIChudW1iZXJwIGxlbikKKyAgICAgIChwcm9nbgorICAgICAgICA7OyBTYW1lIGFzIHRo ZSBzdHIgdHlwZSwgZXhjZXB0IGFsd2F5cyBsZWF2ZSByb29tIGZvciB0aGUgbnVsbAorICAg ICAgICA7OyB0ZXJtaW5hdG9yLiBUaGlzIGFzc3VtZXMgdGhhdCBgbGVuJyA+IDAuCisgICAg ICAgIChiaW5kYXQtLXBhY2stc3RyICgxLSBsZW4pIHYpCisgICAgICAgIDs7ICJXcml0ZSIg dGhlIG51bGwgdGVybWluYXRvci4gVGhpcyBhc3N1bWVzIHRoYXQgYGJpbmRhdC1yYXcnIHdh cworICAgICAgICA7OyBpbml0aWFsaXplZCB3aXRoIHplcm9lcy4KKyAgICAgICAgKHNldHEg YmluZGF0LWlkeCAoMSsgYmluZGF0LWlkeCkpKQorICAgIChsZXQgKChsZW4gKGxlbmd0aCB2 KSkpCisgICAgICAoZG90aW1lcyAoaSBsZW4pCisgICAgICAgIChhc2V0IGJpbmRhdC1yYXcg KCsgYmluZGF0LWlkeCBpKSAoYXJlZiB2IGkpKSkKKyAgICAgIChzZXRxIGJpbmRhdC1pZHgg KCsgYmluZGF0LWlkeCBsZW4gMSkpKSkpCiAKIChkZWZ1biBiaW5kYXQtLXBhY2stYml0cyAo bGVuIHYpCiAgIChsZXQgKChibnVtICgxLSAoKiA4IGxlbikpKSBqIG0pCkBAIC02OTAsMTcg KzY5OCw3IEBAIGJpbmRhdC0tdHlwZQogICAgICBgKGNsLWluY2YgYmluZGF0LWlkeCAsKGlm IChudW1iZXJwIGxlbikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgxKyAobGVuZ3RoICx2YWwpKSkpKQotICAg IChgKHBhY2sgLiAsYXJncykKLSAgICAgKG1hY3JvZXhwLWxldDIgbmlsIGxlbiBsZW4KLSAg ICAgICAoaWYgKG51bWJlcnAgbGVuKQotICAgICAgICAgICBgKHByb2duCi0gICAgICAgICAg ICAgIDs7IFNhbWUgYXMgdGhlIHN0ciB0eXBlLCBleGNlcHQgYWx3YXlzIGxlYXZlIHJvb20g Zm9yIHRoZSBudWxsCi0gICAgICAgICAgICAgIDs7IHRlcm1pbmF0b3IuIFRoaXMgYXNzdW1l cyB0aGF0IGBsZW4nID4gMC4KLSAgICAgICAgICAgICAgKGJpbmRhdC0tcGFjay1zdHIgLCgx LSBsZW4pIC4gLGFyZ3MpCi0gICAgICAgICAgICAgIDs7ICJXcml0ZSIgdGhlIG51bGwgdGVy bWluYXRvci4gVGhpcyBhc3N1bWVzIHRoYXQgYGJpbmRhdC1yYXcnIHdhcwotICAgICAgICAg ICAgICA7OyBpbml0aWFsaXplZCB3aXRoIHplcm9lcy4KLSAgICAgICAgICAgICAgKHNldHEg YmluZGF0LWlkeCAoMSsgYmluZGF0LWlkeCkpKQotICAgICAgICAgYChiaW5kYXQtLXBhY2st c3RyeiAuICxhcmdzKSkpKSkpCisgICAgKGAocGFjayAuICxhcmdzKSBgKGJpbmRhdC0tcGFj ay1zdHJ6ICxsZW4gLiAsYXJncykpKSkKIAogKGNsLWRlZm1ldGhvZCBiaW5kYXQtLXR5cGUg KG9wIChfIChlcWwgJ2JpdHMpKSAgbGVuKQogICAoYmluZGF0LS1wY2FzZSBvcAotLSAKMi4z Ni4xCgo= --------------xOjs1BiXbM0cDq3GYyAEMG8h Content-Type: text/x-patch; charset=UTF-8; name="0007-bindat-strz-Fix-packing-of-long-strings-with-legacy-.patch" Content-Disposition: attachment; filename*0="0007-bindat-strz-Fix-packing-of-long-strings-with-legacy-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwOGQxNjY2Yjk5NTMzZjhhNzJhNGVmMmM4YWJlNzdiZTgwNThkMGUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAyMTo0NjoxNiAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNy83XSBiaW5kYXQgKHN0cnopOiBGaXggcGFja2luZyBvZiBsb25nIHN0cmluZ3Mg d2l0aAogbGVnYWN5LXN0eWxlIHNwZWMKCiogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAo c3Ryeik6IENhbGwgdGhlIHByb3BlciBoYW5kbGVyIHdoZW4KcGFja2luZyB0byBmaXggbGFj ayBvZiBudWxsIHRlcm1pbmF0b3Igd2hlbiBwYWNraW5nIHN0cmluZ3Mgd2l0aApsZW5ndGgg Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBkZWNsYXJlZCBsZW5ndGguCiogdGVzdC9s aXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsIChzdHJ6KTogTWFyayB0ZXN0IGFzIHBh c3NpbmcuCi0tLQogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAgICAgICAgICAgIHwgMyAr Ky0KIHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCB8IDEgLQogMiBmaWxl cyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQu ZWwKaW5kZXggY2YxN2U1NzY0ZC4uZThlYjU5ZTI0ZCAxMDA2NDQKLS0tIGEvbGlzcC9lbWFj cy1saXNwL2JpbmRhdC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCkBAIC00 ODAsNyArNDgwLDggQEAgYmluZGF0LS1wYWNrLWl0ZW0KICAgICgndTI0ciAoYmluZGF0LS1w YWNrLXUyNHIgdikpCiAgICAoJ3UzMnIgKGJpbmRhdC0tcGFjay11MzJyIHYpKQogICAgKCdi aXRzIChiaW5kYXQtLXBhY2stYml0cyBsZW4gdikpCi0gICAoKG9yICdzdHIgJ3N0cnopIChi aW5kYXQtLXBhY2stc3RyIGxlbiB2KSkKKyAgICgnc3RyIChiaW5kYXQtLXBhY2stc3RyIGxl biB2KSkKKyAgICgnc3RyeiAoYmluZGF0LS1wYWNrLXN0cnogbGVuIHYpKQogICAgKCd2ZWMK ICAgICAobGV0ICgobCAobGVuZ3RoIHYpKSAodmxlbiAxKSkKICAgICAgIChpZiAoY29uc3Ag dmVjdHlwZSkKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0 cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbAppbmRleCAwMWY5 ZDUxYWQwLi5jYTkzYTI0NjhiIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9i aW5kYXQtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3Rz LmVsCkBAIC0yMTEsNyArMjExLDYgQEAgYmluZGF0LXRlc3QtLXJlY3Vyc2l2ZQogICAgIChz aG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBzcGVjICcoKHggLiAiYSIpKSkgIlwxNDFcMCIp KSkKIAogICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotbGVnYWN5LWZpeGVkbGVu LXBhY2stb3ZlcmZsb3cgKCkKLSAgICA6ZXhwZWN0ZWQtcmVzdWx0IDpmYWlsZWQKICAgICAo c2hvdWxkIChlcXVhbCAoYmluZGF0LXBhY2sgc3BlYyAnKCh4IC4gImFiYyIpKSkgIlwxNDFc MCIpKSkKIAogICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotbGVnYWN5LWZpeGVk bGVuLXVucGFjayAoKQotLSAKMi4zNi4xCgo= --------------xOjs1BiXbM0cDq3GYyAEMG8h-- --------------78Y26U0B2l0FM0KXoNKGV2vm-- --------------d1VCzKdJgZ0Q3ldX0bFkeGKF Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfoCctB7fyOzE09bW0GvrRa1X4hQFAmKU9owACgkQ0GvrRa1X 4hSW2RAAocdNH/P0fUiVLrDpwWHwR3Qe+xP1dq8tWGP+OY7UORekKdNaM9ypvUXH 6ARcN+fv0S3E82rkXSeQCzBhqd5/cmICvK8ruTjn8WlqM4cMx85/91V0XCpIPn+w HP4NLNXA5tXNmUArqdLUNj+k26qLubu0IBvlJfB5xp4//ncMiHhmsaoNV92mdoax /RxntewywxKqYzKJwpW20mm8XfxhjHJt0TCFV7qvfFbNRRFi6LniFFGP5VjGIRdA 1qFcyeakpD688W7vGa8coiWJr/DM5aYiMh/9rOIYn1mVEa9AhfA4IxnjoLGIZEyY KK5PyLjZuRtZ3qjqPI0+O3i/Rf8bJ2D7+VeuxjTOSvtaM1qJqJRUImNPTu2ahzFH pomLAVMHunU/TqGybv1/g/py9IYfUBfDfLTNf95zVeCWmedccCochZghyK2x6fiA bpDI1Qv0GIww9lwdCTYBPUl2xgSn7GushAaf+7X79J8InMgVCYr+LzaZv4NDilBv P2htIOSJrIO2QQdnkM5oD0kEbV8+4AT9v67iqETr3cCX2xQegWIvhN0Ewp3wC8hk VrCiVLbCe8CUl4VfXQ6pF9hm2aMz6N2T/EViNpPG/lOoQUSjXBtCSkH491FB7N9R JILQYDqvlBa3ZMVSRv8VuNOJXPY5JDe83YXb9a9rQkhUK6XPy8g= =z/DH -----END PGP SIGNATURE----- --------------d1VCzKdJgZ0Q3ldX0bFkeGKF-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 31 01:38:25 2022 Received: (at control) by debbugs.gnu.org; 31 May 2022 05:38:25 +0000 Received: from localhost ([127.0.0.1]:46390 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvuaH-00066G-B3 for submit@debbugs.gnu.org; Tue, 31 May 2022 01:38:25 -0400 Received: from spork.scientician.org ([66.228.35.160]:49442) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvuaD-000664-6c for control@debbugs.gnu.org; Tue, 31 May 2022 01:38:24 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 64D4348031 X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id E06B32003B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1653975498; bh=6EVQxBt0fdGyYgP7MSTj34FP1J3MIt4WO7bUi1sKL3w=; h=Date:From:To:Subject:From; b=h28/2atxjGY6DYNSapmJW1a2khe70Ud0zRpJ5JGSAu91eU3ncAbEch7i8wDZNAHqS 3t0oH6e0uI5s5cos6epr72xd6XZIIxZ2bgj/V0/CxGD5vCKC50Bews507jOCDBn+3i hUrx0zb7ZcGJlZNQAyiwugNWfBGQvAuQcYXvu/w4= Date: Tue, 31 May 2022 01:38:19 -0400 From: Richard Hansen To: control@debbugs.gnu.org Subject: User-Agent: K-9 Mail for Android Message-ID: <0049C23F-4D5D-46D8-BE40-D1FFB9B80A36@rhansen.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=----DQVH696Q3IRXUOCMJY57OJRCOGQ4MR Content-Transfer-Encoding: 7bit X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tag 55719 + patch tag 55719 + patch Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [66.228.35.160 listed in list.dnswl.org] 0.0 HTML_MESSAGE BODY: HTML included in message 2.0 BLANK_SUBJECT Subject is present but empty -0.0 T_SCC_BODY_TEXT_LINE No description available. X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) ------DQVH696Q3IRXUOCMJY57OJRCOGQ4MR Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable tag 55719 + patch ------DQVH696Q3IRXUOCMJY57OJRCOGQ4MR Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable tag 55719 + patch
------DQVH696Q3IRXUOCMJY57OJRCOGQ4MR-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 31 07:08:19 2022 Received: (at 55719) by debbugs.gnu.org; 31 May 2022 11:08:19 +0000 Received: from localhost ([127.0.0.1]:46785 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvzjO-0001i2-M2 for submit@debbugs.gnu.org; Tue, 31 May 2022 07:08:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nvzjN-0001hq-16 for 55719@debbugs.gnu.org; Tue, 31 May 2022 07:08:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33864) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nvzjF-0008SW-RG; Tue, 31 May 2022 07:08:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=lRuMUV2rmlRyl7ykHtfSF/SdKD/2csLz8JXyuIFGcyI=; b=RmWoDxY9CoWr E90Ii2oyg0SmbVkbe+kOcO7SzKPyP6uVhmjtQCBnvdHz7af+xVbPR15O52w6kQYBjuI6Sh6P3NWQV jJco3TAfMre1e3gmo7tgU90A1dMhJOBK2hXdPf58tjVY6KFFwimdBs+FN6wh8ubr2ep9/MKMTEV0M sIZKvw2l5xC2fCbdXe2ICrlYwr/RQROylrzke5hgcdbXSBm8yIDayqaCfHS9s4bZ/San1SFPb+ftj o6GNMhgg5/nVA0nFbgtt33Ilve6UaVofNdMgJcOEczZo0ahGxD0TcxnwUwmA2heO9EPhOry5wAAH1 /Ar/dp+lxhycBkR75RTp7A==; Received: from [87.69.77.57] (port=4688 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nvzjE-000816-QA; Tue, 31 May 2022 07:08:01 -0400 Date: Tue, 31 May 2022 14:08:04 +0300 Message-Id: <8335gqj6y3.fsf@gnu.org> From: Eli Zaretskii To: Richard Hansen In-Reply-To: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> (message from Richard Hansen on Mon, 30 May 2022 12:53:31 -0400) Subject: Re: bug#55719: [PATCH] bindat strz fixes References: <77e643ea-9e19-f4e3-c109-6233eb84d56b@rhansen.org> <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 55719@debbugs.gnu.org > Date: Mon, 30 May 2022 12:53:31 -0400 > From: Richard Hansen > > The attached series of patches should fix bug #55719 (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55719). Aren't those all due to the issue of including the terminating null byte in a packed string? And if so, I wonder whether indeed the null byte should be included, since that means you cannot handle strings that include null bytes as part of the payload, not as terminators. Can you tell why you are convinced the null byte should be considered as part of the string? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Tue May 31 16:08:23 2022 Received: (at 55719) by debbugs.gnu.org; 31 May 2022 20:08:23 +0000 Received: from localhost ([127.0.0.1]:48979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nw8AB-0000j2-Ko for submit@debbugs.gnu.org; Tue, 31 May 2022 16:08:23 -0400 Received: from spork.scientician.org ([66.228.35.160]:52628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nw8A9-0000iu-Pa for 55719@debbugs.gnu.org; Tue, 31 May 2022 16:08:22 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 37F8547F45 X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id E27E7201EB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1654027700; bh=IA8+BILsQO8HSZM2N5G0l5ilTjZB+hKqCYwbUEGXx/c=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=E+Hn0NGFs/T6BWe0enwrXFzbHwiXIk33vRkTpqjVIyUmeRQ2OYR2+XoXtqeyrkCEK S+OtoTAHXutwLXanJEUUTt4M1Z5uW1L10f005PbrvjJD3ZTGRkucldUAfPFriIpfkB uRZvt5TVs6b6dLjAwFbTIKprs7DiGWT7qiYDsqQc= Message-ID: <67207de1-7047-4011-d6a2-406573b3861f@rhansen.org> Date: Tue, 31 May 2022 16:08:18 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: bug#55719: [PATCH] bindat strz fixes Content-Language: en-US To: Eli Zaretskii References: <77e643ea-9e19-f4e3-c109-6233eb84d56b@rhansen.org> <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> <8335gqj6y3.fsf@gnu.org> From: Richard Hansen In-Reply-To: <8335gqj6y3.fsf@gnu.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------Z0lu0wOZ057ZJ1lJn7lNh06s" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------Z0lu0wOZ057ZJ1lJn7lNh06s Content-Type: multipart/mixed; boundary="------------15mDbncVt94thkVwUmd108ka"; protected-headers="v1" From: Richard Hansen To: Eli Zaretskii Cc: emacs-devel@gnu.org, 55719@debbugs.gnu.org, monnier@iro.umontreal.ca Message-ID: <67207de1-7047-4011-d6a2-406573b3861f@rhansen.org> Subject: Re: bug#55719: [PATCH] bindat strz fixes References: <77e643ea-9e19-f4e3-c109-6233eb84d56b@rhansen.org> <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> <8335gqj6y3.fsf@gnu.org> In-Reply-To: <8335gqj6y3.fsf@gnu.org> --------------15mDbncVt94thkVwUmd108ka Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gNS8zMS8yMiAwNzowOCwgRWxpIFphcmV0c2tpaSB3cm90ZToNCj4gQ2FuIHlvdSB0ZWxs IHdoeSB5b3UgYXJlIGNvbnZpbmNlZCB0aGUgbnVsbCBieXRlIHNob3VsZCBiZSBjb25zaWRl cmVkDQo+IGFzIHBhcnQgb2YgdGhlIHN0cmluZz8NCg0KVGhlIG51bGwgdGVybWluYXRvciBp cyB0aGUgcmVhc29uIG9uZSB3b3VsZCB1c2UgdGhlIHN0cnogdHlwZS4gSWYgdGhlDQp1c2Vy IGRvZXNuJ3Qgd2FudCBhIG51bGwgdGVybWluYXRvciwgdGhleSBzaG91bGQgdXNlIHRoZSBz dHIgdHlwZQ0KaW5zdGVhZC4gRnJvbSB0aGUgZG9jdW1lbnRhdGlvbiBbMV06DQoNCj4gc3Ry IGxlbg0KPg0KPiAgICAgU3RyaW5nIG9mIGJ5dGVzIG9mIGxlbmd0aCBsZW4uDQo+DQo+IHN0 cnogJm9wdGlvbmFsIGxlbg0KPg0KPiAgICAgWmVyby10ZXJtaW5hdGVkIHN0cmluZyBvZiBi eXRlcywgY2FuIGJlIG9mIGFyYml0cmFyeSBsZW5ndGggb3IgDQo+ICAgICBpbiBhIGZpeGVk LXNpemUgZmllbGQgd2l0aCBsZW5ndGggbGVuLg0KDQpbMV0gaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy9tYW51YWwvaHRtbF9ub2RlL2VsaXNwL0JpbmRhdC1UeXBlcy5o dG1sI2luZGV4LWJpbmRhdF8wMDJkdHlwZQ0K --------------15mDbncVt94thkVwUmd108ka-- --------------Z0lu0wOZ057ZJ1lJn7lNh06s Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfoCctB7fyOzE09bW0GvrRa1X4hQFAmKWdbIACgkQ0GvrRa1X 4hQ4kw//U/2plANaBiWJHzEVrKAmdxpcpvQYupqp5RMooHS5aE8A0IBKOYAmLfIx ydl0zhjZJTPLr4eixovW33gI0f92HEB1+4qiTLHY7vmbtK8FVcvcwwMS7gzIGZCp U+3SvqJOcMdiysDwLbLrhJNZy5Ny8m5sqMp77MzmPHcdd/+JeMwu8IUcO+ho9r+p C4iVJx/H1spa/9qi8zsDlEr2VYsB9zBlvji3GAE795n8gSIBPwV2SaEQBlUcFOYR 3WrR/ZdwS656dWxI6mpZl68iXbBBWZRS+Ms9NK/odcFIfJslfwvX7lYDOuPEf+xB nQ/MsHYI49G9RGdjqm661K3voecKjtxNf6AgiYpDzyLdfxLYPDG/4fLbaZtHbq6N 0fPDNRuX+2LmWIc0c02Cb0CaLIpo/OgG6gMAXilBHzMpvwcb56II7LOC8oS9BNTJ kcpN9iSPxPp9pQYSQQjsI3q2qXKLa/l0dtAenUq9H6YO6HXTBYtx9jECI03M+J86 YDTUa4iFMC2lXzlroYJbMwqM+yrxsaMMfaY8cNmx3ViZyeNpqR4pphsI5tFZE+Vc cAVNAgBNFltdFsGMmIEYW8s0gpfazUIPoUx0gUl1aT61XAqum3di/vAqQdZ5T8d5 oxdYvuolizPHPnuel1swbpBzteOYU5x76Zm3sb24GgP/0N4ytN0= =KRMz -----END PGP SIGNATURE----- --------------Z0lu0wOZ057ZJ1lJn7lNh06s-- From debbugs-submit-bounces@debbugs.gnu.org Tue May 31 19:01:02 2022 Received: (at 55719) by debbugs.gnu.org; 31 May 2022 23:01:02 +0000 Received: from localhost ([127.0.0.1]:49115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwArF-0005Rn-Te for submit@debbugs.gnu.org; Tue, 31 May 2022 19:01:02 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:31563) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwArE-0005RI-7U for 55719@debbugs.gnu.org; Tue, 31 May 2022 19:01:00 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 968851008D2; Tue, 31 May 2022 19:00:54 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 44D7C1006B0; Tue, 31 May 2022 19:00:52 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1654038052; bh=L8WzC54nmJpMBmXQzpQPva/z3+L+ZNmJ/8mziQlajfE=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=nc+243mt2HPBGHIqL2lflXM+Oe+ux0sp7uR9DWj469ZQwCdUxLMTUdIZVQFduAHXQ gcw7I5lKBzD8ZzzrfNSTFu2IKUUyocQvsN3xH/Cg3vB+6bTtDffm3v7MaAsRB65t7Z bxa+1ZxahCW+wSyoChGp0uTgAQUZpGjuAwh1ZrYPK16dUum7DI7X5VVFMO4M0yDqGu geKzagal+PNtQ9OjlBC6UC3xVkoDlsNaxyb2CdRfDtcuvNvi3yCg97us1hiwFUx9VV 3G787vyuNjId2ICjPhOP64Wk2WZtQPYSHdmOrqfmOpHdUCZiU1WteB/kCviF+/vMdf d5SjUORzcVu1Q== Received: from pastel (unknown [45.72.221.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 0EC55120445; Tue, 31 May 2022 19:00:52 -0400 (EDT) From: Stefan Monnier To: Richard Hansen Subject: Re: [PATCH] bindat strz fixes Message-ID: References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> Date: Tue, 31 May 2022 19:00:50 -0400 In-Reply-To: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> (Richard Hansen's message of "Mon, 30 May 2022 12:53:31 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.044 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > diff --git a/test/lisp/emacs-lisp/bindat-tests.el b/test/lisp/emacs-lisp/bindat-tests.el > index 7722cf6c02..53c0c359d8 100644 > --- a/test/lisp/emacs-lisp/bindat-tests.el > +++ b/test/lisp/emacs-lisp/bindat-tests.el > @@ -162,4 +162,64 @@ bindat-test--recursive > (bindat-pack bindat-test--LEB128 n)) > n))))))) > > +(let ((spec (bindat-type :pack-var v > + (x strz 2 :pack-val v) > + :unpack-val x))) Any particular reason why you define it this way instead of just (bindat-type strz 2) ? > + (ert-deftest bindat-test--strz-fixedlen-len () > + (should (equal (bindat-length spec "") 2)) > + (should (equal (bindat-length spec "a") 2))) > + > + (ert-deftest bindat-test--strz-fixedlen-len-overflow () > + (should (equal (bindat-length spec "abc") 2))) > + > + (ert-deftest bindat-test--strz-fixedlen-pack () > + (should (equal (bindat-pack spec "") "\0\0")) > + (should (equal (bindat-pack spec "a") "\141\0"))) LGTM. > + (ert-deftest bindat-test--strz-fixedlen-pack-overflow () > + :expected-result :failed > + (should (equal (bindat-pack spec "abc") "\141\0"))) I think this changes the intended semantics. Until now `strz N` has meant that N bytes are used to encode the string and that it can hold upto a string of length N (in which case there's no terminating NUL byte). I agree that it's not the only valid semantics, but I'm not sure we want to change it at this point. Do you have a particular reason to make this change. > + (ert-deftest bindat-test--strz-fixedlen-unpack () > + (should (equal (bindat-unpack spec "\0\0") "")) > + (should (equal (bindat-unpack spec "a\0") "a")))) How 'bout (bindat-unpack spec "ab") ? > +(let ((spec (bindat-type :pack-var v > + (x strz :pack-val v) > + :unpack-val x))) Similarly here, I'd use just (bindat-type strz) > + (ert-deftest bindat-test--strz-varlen-len () > + :expected-result :failed > + (should (equal (bindat-length spec "") 1)) > + (should (equal (bindat-length spec "abc") 4))) > + > + (ert-deftest bindat-test--strz-varlen-pack () > + :expected-result :failed > + (should (equal (bindat-pack spec "") "\0")) > + (should (equal (bindat-pack spec "abc") "\141\142\143\0"))) > + > + (ert-deftest bindat-test--strz-varlen-unpack () > + :expected-result :failed > + (should (equal (bindat-unpack spec "\0") "")) > + (should (equal (bindat-unpack spec "\141\142\143\0") "abc")))) Looks good (tho I'd write "abc\0" i.s.o "\141\142\143\0"). Not sure what we should do about (bindat-unpack spec "abc")? > diff --git a/lisp/emacs-lisp/bindat.el b/lisp/emacs-lisp/bindat.el > index c6d64975ec..f66458296a 100644 > --- a/lisp/emacs-lisp/bindat.el > +++ b/lisp/emacs-lisp/bindat.el > @@ -687,10 +687,9 @@ bindat--type > (bindat--pcase op > ('unpack `(bindat--unpack-strz ,len)) > (`(length ,val) > - `(cl-incf bindat-idx ,(cond > - ((null len) `(length ,val)) > - ((numberp len) len) > - (t `(or ,len (length ,val)))))) > + `(cl-incf bindat-idx ,(if (numberp len) > + len > + `(1+ (length ,val))))) `len` is supposed to be an ELisp *expression*. E.g. it can be (+ a 4) in which case (numberp len) will fail yet we should return the value of `len` rather than (1+ (length ,val)). In the original code, the cases for (null len) and (numberp len) are *optimizations*. I haven't yet looked at the rest of the patches. If you can update your patches based on this feedback, that would be great, but in the worst case, I'll get to reviewing the rest sooner or later anyway. Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 01 01:28:14 2022 Received: (at 55719) by debbugs.gnu.org; 1 Jun 2022 05:28:14 +0000 Received: from localhost ([127.0.0.1]:49473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwGtx-0007RA-Sk for submit@debbugs.gnu.org; Wed, 01 Jun 2022 01:28:14 -0400 Received: from spork.scientician.org ([66.228.35.160]:44596) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwGtv-0007Qy-B4 for 55719@debbugs.gnu.org; Wed, 01 Jun 2022 01:28:12 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 5FF8E49D98 X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id A19A8201EB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1654061288; bh=85/Upydy60Lqkcc+D8iCKkO8ksW30NYe3GLXlymT0eQ=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=gvKsRcq9wBqrE9j361gGN1HbP8zU5Jp4vZ9cvPBL+WIABj8M64HcE4v2MqBxzq5FZ hswQQZG8EelzZiGSEjK0rHAIzdn8o16fhAx27Mz6Eh8Ub/OvyTlB6nk+27IBf8AqCb +WRxt43mvqLN+Y6/8Xhx3iZQGL3mIZSu8CdM42yU= Message-ID: Date: Wed, 1 Jun 2022 01:28:06 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH] bindat strz fixes Content-Language: en-US To: Stefan Monnier References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> From: Richard Hansen In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------PdyOIWPZpJUdxJXtcJu0CVrF" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------PdyOIWPZpJUdxJXtcJu0CVrF Content-Type: multipart/mixed; boundary="------------1eIJVQAa106ssiuckOh1C1sx"; protected-headers="v1" From: Richard Hansen To: Stefan Monnier Cc: emacs-devel@gnu.org, 55719@debbugs.gnu.org Message-ID: Subject: Re: [PATCH] bindat strz fixes References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> In-Reply-To: --------------1eIJVQAa106ssiuckOh1C1sx Content-Type: multipart/mixed; boundary="------------0MTBNz2fpXFlh8klUq0XWJwE" --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 VGhhbmsgeW91IGZvciB0aGUgcmV2aWV3ISBJIGhhdmUgYXR0YWNoZWQgYSBuZXcgc2V0IG9m IHBhdGNoZXMuDQoNCk9uIDUvMzEvMjIgMTk6MDAsIFN0ZWZhbiBNb25uaWVyIHdyb3RlOg0K Pj4gKyhsZXQgKChzcGVjIChiaW5kYXQtdHlwZSA6cGFjay12YXIgdg0KPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAoeCBzdHJ6IDIgOnBhY2stdmFsIHYpDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgIDp1bnBhY2stdmFsIHgpKSkNCj4gDQo+IEFueSBwYXJ0aWN1bGFy IHJlYXNvbiB3aHkgeW91IGRlZmluZSBpdCB0aGlzIHdheSBpbnN0ZWFkIG9mIGp1c3QNCj4g DQo+ICAgICAgKGJpbmRhdC10eXBlIHN0cnogMikNCj4gDQo+ID8NCg0KVGhhbmtzLCBJIHNo b3VsZCBoYXZlIHJlYWxpemVkIHRoYXQgd2FzIHBvc3NpYmxlLiBGaXhlZC4NCg0KPj4gKyAg KGVydC1kZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LWZpeGVkbGVuLXBhY2stb3ZlcmZsb3cg KCkNCj4+ICsgICAgOmV4cGVjdGVkLXJlc3VsdCA6ZmFpbGVkDQo+PiArICAgIChzaG91bGQg KGVxdWFsIChiaW5kYXQtcGFjayBzcGVjICJhYmMiKSAiXDE0MVwwIikpKQ0KPiANCj4gSSB0 aGluayB0aGlzIGNoYW5nZXMgdGhlIGludGVuZGVkIHNlbWFudGljcy4gIFVudGlsIG5vdyBg c3RyeiBOYCBoYXMNCj4gbWVhbnQgdGhhdCBOIGJ5dGVzIGFyZSB1c2VkIHRvIGVuY29kZSB0 aGUgc3RyaW5nIGFuZCB0aGF0IGl0IGNhbg0KPiBob2xkIHVwdG8gYSBzdHJpbmcgb2YgbGVu Z3RoIE4gKGluIHdoaWNoIGNhc2UgdGhlcmUncyBubyB0ZXJtaW5hdGluZyBOVUwNCj4gYnl0 ZSkuICBJIGFncmVlIHRoYXQgaXQncyBub3QgdGhlIG9ubHkgdmFsaWQgc2VtYW50aWNzLCBi dXQgSSdtIG5vdCBzdXJlDQo+IHdlIHdhbnQgdG8gY2hhbmdlIGl0IGF0IHRoaXMgcG9pbnQu DQo+IA0KPiBEbyB5b3UgaGF2ZSBhIHBhcnRpY3VsYXIgcmVhc29uIHRvIG1ha2UgdGhpcyBj aGFuZ2UuDQoNCkEgZmV3Og0KICAgKiBUaGUgZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgdGhl IHBhY2tlZCBvdXRwdXQgaXMgbnVsbCB0ZXJtaW5hdGVkDQogICAgIHNvIHRoYXQncyB3aGF0 IHVzZXJzIGV4cGVjdC4NCiAgICogSXQgaXMgc2FmZXIgKHBhY2tlZCBvdXRwdXQgaXMgbGVz cyBsaWtlbHkgdG8gY2F1c2Ugc29tZSBvdGhlcg0KICAgICBwcm9ncmFtIHRvIHJ1biBwYXN0 IHRoZSBlbmQgb2YgdGhlIGZpZWxkKS4NCiAgICogV2l0aG91dCB0aGlzIGNoYW5nZSwgdGhl cmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIGBzdHJ6IE5gIGFuZA0KICAgICBgc3RyIE5g LiBTbyB3aGF0IHdvdWxkIGJlIHRoZSBwb2ludCBvZiBgc3RyeiBOYD8NCiAgICogSWYgdGhl IHVzZXIgc2VsZWN0ZWQgc3RyeiwgdGhlIGFwcGxpY2F0aW9uIHByb2JhYmx5IHJlcXVpcmVz IG51bGwNCiAgICAgdGVybWluYXRpb24gaW4gYWxsIGNhc2VzLCBub3QganVzdCB3aGVuIHRo ZSBzdHJpbmcgaXMgdW5kZXIgYQ0KICAgICBjZXJ0YWluIGxlbmd0aC4NCg0KPj4gKyAgKGVy dC1kZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LWZpeGVkbGVuLXVucGFjayAoKQ0KPj4gKyAg ICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXVucGFjayBzcGVjICJcMFwwIikgIiIpKQ0KPj4g KyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXVucGFjayBzcGVjICJhXDAiKSAiYSIpKSkp DQo+IA0KPiBIb3cgJ2JvdXQNCj4gDQo+ICAgICAgIChiaW5kYXQtdW5wYWNrIHNwZWMgImFi IikNCj4gDQo+ID8NCg0KSSBhZGRlZCBzb21lIGNvbW1lbnRzIGV4cGxhaW5pbmcgd2h5IGNh c2VzIGxpa2UgdGhhdCBhcmVuJ3QgdGVzdGVkLg0KDQo+ICh0aG8gSSdkIHdyaXRlICJhYmNc MCIgaS5zLm8gIlwxNDFcMTQyXDE0M1wwIikuDQoNCkRvbmUuDQoNCj4gTm90IHN1cmUgd2hh dCB3ZSBzaG91bGQgZG8gYWJvdXQgKGJpbmRhdC11bnBhY2sgc3BlYyAiYWJjIik/DQoNClRo YXQgaXMgbm90IGEgdmFsaWQgcGFja2VkIHN0cmluZywgc28gSSdtIG5vdCB0b28gY29uY2Vy bmVkIGFib3V0IGl0Lg0KQ3VycmVudGx5IGl0IHNpZ25hbHMgYW4gYXJncy1vdXQtb2YtcmFu Z2UgZXJyb3IgYmVjYXVzZSBpdCB0cmllcyB0bw0KcmVhZCBwYXN0IHRoZSBlbmQgb2YgdGhl IHN0cmluZywgd2hpY2ggc2VlbXMgbGlrZSBhbiBhY2NlcHRhYmxlDQpiZWhhdmlvciB0byBt ZS4gV2UgY291bGQgbWFrZSB0aGUgZXJyb3IgbWVzc2FnZSBtb3JlIGZyaWVuZGx5LCBzdWNo IGFzDQoiZW5kIG9mIGlucHV0IHJlYWNoZWQgd2hpbGUgc2VhcmNoaW5nIGZvciBudWxsIHRl cm1pbmF0b3IiLCBidXQgSSdkDQpyYXRoZXIgbm90IG1ha2UgdGhhdCBjaGFuZ2UgcmlnaHQg bm93IHdpdGggdGhpcyBzZXQgb2YgcGF0Y2hlcy4NCg0KPj4gLSAgICAgYChjbC1pbmNmIGJp bmRhdC1pZHggLChjb25kDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICgobnVs bCBsZW4pIGAobGVuZ3RoICx2YWwpKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoKG51bWJlcnAgbGVuKSBsZW4pDQo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICh0IGAob3IgLGxlbiAobGVuZ3RoICx2YWwpKSkpKSkNCj4+ICsgICAgIGAoY2wtaW5jZiBi aW5kYXQtaWR4ICwoaWYgKG51bWJlcnAgbGVuKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsZW4NCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoMSsg KGxlbmd0aCAsdmFsKSkpKSkNCj4gDQo+IGBsZW5gIGlzIHN1cHBvc2VkIHRvIGJlIGFuIEVM aXNwICpleHByZXNzaW9uKi4NCg0KQWgsIEkgd2FzIHdvbmRlcmluZyB3aHkgaXQgd2FzIHdy aXR0ZW4gdGhhdCB3YXkuIEZpeGVkLg0K --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/x-patch; charset=UTF-8; name="0001-bindat-tests-strz-Add-more-tests.patch" Content-Disposition: attachment; filename="0001-bindat-tests-strz-Add-more-tests.patch" Content-Transfer-Encoding: base64 RnJvbSBlMDdjNThmMjQ2MDg4MDZkODE0MTdmNzBkZjRkOTA0YjRjNWZmZmUzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAxNzoxNTowNCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMS83XSA7IGJpbmRhdC10ZXN0cyAoc3Ryeik6IEFkZCBtb3JlIHRlc3RzCgotLS0K IHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCB8IDY1ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsIGIvdGVz dC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCmluZGV4IDc3MjJjZjZjMDIuLmZi ZTU3NGU0OTAgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0 cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwKQEAgLTE2 Miw0ICsxNjIsNjkgQEAgYmluZGF0LXRlc3QtLXJlY3Vyc2l2ZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChiaW5kYXQtcGFjayBiaW5kYXQtdGVzdC0tTEVC MTI4IG4pKQogICAgICAgICAgICAgICAgICAgICAgICAgIG4pKSkpKSkpCiAKKyhsZXQgKChz cGVjIChiaW5kYXQtdHlwZSBzdHJ6IDIpKSkKKyAgKGVydC1kZWZ0ZXN0IGJpbmRhdC10ZXN0 LS1zdHJ6LWZpeGVkbGVuLWxlbiAoKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtbGVu Z3RoIHNwZWMgIiIpIDIpKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtbGVuZ3RoIHNw ZWMgImEiKSAyKSkpCisKKyAgKGVydC1kZWZ0ZXN0IGJpbmRhdC10ZXN0LS1zdHJ6LWZpeGVk bGVuLWxlbi1vdmVyZmxvdyAoKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtbGVuZ3Ro IHNwZWMgImFiYyIpIDIpKSkKKworICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnot Zml4ZWRsZW4tcGFjayAoKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBzcGVj ICIiKSAiXDBcMCIpKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBzcGVjICJh IikgImFcMCIpKSkKKworICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotZml4ZWRs ZW4tcGFjay1vdmVyZmxvdyAoKQorICAgIDpleHBlY3RlZC1yZXN1bHQgOmZhaWxlZAorICAg IChzaG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBzcGVjICJhYmMiKSAiYVwwIikpKQorCisg IChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei1maXhlZGxlbi11bnBhY2sgKCkKKyAg ICA7OyBUaGVyZSBhcmUgbm8gdGVzdHMgZm9yIHVucGFja2luZyAiYWIiIG9yICJhYlwwIiBi ZWNhdXNlIHRob3NlCisgICAgOzsgcGFja2VkIHN0cmluZ3MgY2Fubm90IGJlIHByb2R1Y2Vk IGZyb20gdGhlIHNwZWMgKHBhY2tpbmcgImFiIgorICAgIDs7IHNob3VsZCBwcm9kdWNlICJh XDAiLCBub3QgImFiIiBvciAiYWJcMCIpLgorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQt dW5wYWNrIHNwZWMgIlwwXDAiKSAiIikpCisgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC11 bnBhY2sgc3BlYyAiYVwwIikgImEiKSkpKQorCisobGV0ICgoc3BlYyAoYmluZGF0LXR5cGUg c3RyeikpKQorICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotdmFybGVuLWxlbiAo KQorICAgIDpleHBlY3RlZC1yZXN1bHQgOmZhaWxlZAorICAgIChzaG91bGQgKGVxdWFsIChi aW5kYXQtbGVuZ3RoIHNwZWMgIiIpIDEpKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQt bGVuZ3RoIHNwZWMgImFiYyIpIDQpKSkKKworICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3Qt LXN0cnotdmFybGVuLXBhY2sgKCkKKyAgICA6ZXhwZWN0ZWQtcmVzdWx0IDpmYWlsZWQKKyAg ICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXBhY2sgc3BlYyAiIikgIlwwIikpCisgICAgKHNo b3VsZCAoZXF1YWwgKGJpbmRhdC1wYWNrIHNwZWMgImFiYyIpICJhYmNcMCIpKSkKKworICAo ZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotdmFybGVuLXVucGFjayAoKQorICAgIDpl eHBlY3RlZC1yZXN1bHQgOmZhaWxlZAorICAgIDs7IFRoZXJlIGlzIG5vIHRlc3QgZm9yIHVu cGFja2luZyBhIHN0cmluZyB3aXRob3V0IGEgbnVsbAorICAgIDs7IHRlcm1pbmF0b3IgYmVj YXVzZSBzdWNoIHBhY2tlZCBzdHJpbmdzIGNhbm5vdCBiZSBwcm9kdWNlZCBmcm9tCisgICAg OzsgdGhlIHNwZWMgKHBhY2tpbmcgImEiIHNob3VsZCBwcm9kdWNlICJhXDAiLCBub3QgImEi KS4KKyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXVucGFjayBzcGVjICJcMCIpICIiKSkK KyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXVucGFjayBzcGVjICJhYmNcMCIpICJhYmMi KSkpKQorCisobGV0ICgoc3BlYyAnKCh4IHN0cnogMikpKSkKKyAgKGVydC1kZWZ0ZXN0IGJp bmRhdC10ZXN0LS1zdHJ6LWxlZ2FjeS1maXhlZGxlbi1sZW4gKCkKKyAgICAoc2hvdWxkIChl cXVhbCAoYmluZGF0LWxlbmd0aCBzcGVjICcoKHggLiAiIikpKSAyKSkKKyAgICAoc2hvdWxk IChlcXVhbCAoYmluZGF0LWxlbmd0aCBzcGVjICcoKHggLiAiYSIpKSkgMikpKQorCisgIChl cnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei1sZWdhY3ktZml4ZWRsZW4tbGVuLW92ZXJm bG93ICgpCisgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC1sZW5ndGggc3BlYyAnKCh4IC4g ImFiYyIpKSkgMikpKQorCisgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei1sZWdh Y3ktZml4ZWRsZW4tcGFjayAoKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBz cGVjICcoKHggLiAiIikpKSAiXDBcMCIpKQorICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQt cGFjayBzcGVjICcoKHggLiAiYSIpKSkgImFcMCIpKSkKKworICAoZXJ0LWRlZnRlc3QgYmlu ZGF0LXRlc3QtLXN0cnotbGVnYWN5LWZpeGVkbGVuLXBhY2stb3ZlcmZsb3cgKCkKKyAgICA6 ZXhwZWN0ZWQtcmVzdWx0IDpmYWlsZWQKKyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXBh Y2sgc3BlYyAnKCh4IC4gImFiYyIpKSkgImFcMCIpKSkKKworICAoZXJ0LWRlZnRlc3QgYmlu ZGF0LXRlc3QtLXN0cnotbGVnYWN5LWZpeGVkbGVuLXVucGFjayAoKQorICAgIDs7IFRoZXJl IGFyZSBubyB0ZXN0cyBmb3IgdW5wYWNraW5nICJhYiIgb3IgImFiXDAiIGJlY2F1c2UgdGhv c2UKKyAgICA7OyBwYWNrZWQgc3RyaW5ncyBjYW5ub3QgYmUgcHJvZHVjZWQgZnJvbSB0aGUg c3BlYyAocGFja2luZyAiYWIiCisgICAgOzsgc2hvdWxkIHByb2R1Y2UgImFcMCIsIG5vdCAi YWIiIG9yICJhYlwwIikuCisgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC11bnBhY2sgc3Bl YyAiXDBcMCIpICcoKHggLiAiIikpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoYmluZGF0LXVu cGFjayBzcGVjICJhXDAiKSAnKCh4IC4gImEiKSkpKSkpCisKIDs7OyBiaW5kYXQtdGVzdHMu ZWwgZW5kcyBoZXJlCi0tIAoyLjM2LjEKCg== --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/x-patch; charset=UTF-8; name="0002-bindat-strz-Fix-off-by-one-bug-in-computed-length.patch" Content-Disposition: attachment; filename*0="0002-bindat-strz-Fix-off-by-one-bug-in-computed-length.patch" Content-Transfer-Encoding: base64 RnJvbSBmYTE4MzViZDgzZmM4ZTY0NDI2MDIzZmU5NzkwNzliZmEyMWNiZGNiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU2F0LCAyOCBNYXkgMjAyMiAyMzoxMDo0NCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMi83XSBiaW5kYXQgKHN0cnopOiBGaXggb2ZmLWJ5LW9uZSBidWcgaW4gY29tcHV0 ZWQgbGVuZ3RoCgoqIGxpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwgKHN0cnopOiBJbmNsdWRl IG51bGwgdGVybWluYXRvciB3aGVuCmNvbXB1dGluZyBwYWNrZWQgc3RyaW5nIGxlbmd0aC4K KiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwgKHN0cnopOiBNYXJrIHRl c3RzIGFzIHBhc3NpbmcuCi0tLQogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAgICAgICAg ICAgIHwgNCArKy0tCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwgfCAy IC0tCiAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsIGIvbGlzcC9lbWFjcy1s aXNwL2JpbmRhdC5lbAppbmRleCBjNmQ2NDk3NWVjLi5iMjM2ZTQ3ZTViIDEwMDY0NAotLS0g YS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9iaW5k YXQuZWwKQEAgLTY4OCw5ICs2ODgsOSBAQCBiaW5kYXQtLXR5cGUKICAgICAoJ3VucGFjayBg KGJpbmRhdC0tdW5wYWNrLXN0cnogLGxlbikpCiAgICAgKGAobGVuZ3RoICx2YWwpCiAgICAg IGAoY2wtaW5jZiBiaW5kYXQtaWR4ICwoY29uZAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgobnVsbCBsZW4pIGAobGVuZ3RoICx2YWwpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgobnVsbCBsZW4pIGAoMSsgKGxlbmd0aCAsdmFsKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKChudW1iZXJwIGxlbikgbGVuKQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICh0IGAob3IgLGxlbiAobGVuZ3RoICx2YWwpKSkpKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAodCBgKG9yICxsZW4gKDErIChsZW5ndGggLHZhbCkpKSkpKSkK ICAgICAoYChwYWNrIC4gLGFyZ3MpCiAgICAgIChtYWNyb2V4cC1sZXQyIG5pbCBsZW4gbGVu CiAgICAgICAgYChpZiAsbGVuCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9i aW5kYXQtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwK aW5kZXggZmJlNTc0ZTQ5MC4uNmFkZGVkOTM5MCAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2Vt YWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2Jp bmRhdC10ZXN0cy5lbApAQCAtMTg3LDEyICsxODcsMTAgQEAgYmluZGF0LXRlc3QtLXJlY3Vy c2l2ZQogCiAobGV0ICgoc3BlYyAoYmluZGF0LXR5cGUgc3RyeikpKQogICAoZXJ0LWRlZnRl c3QgYmluZGF0LXRlc3QtLXN0cnotdmFybGVuLWxlbiAoKQotICAgIDpleHBlY3RlZC1yZXN1 bHQgOmZhaWxlZAogICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtbGVuZ3RoIHNwZWMgIiIp IDEpKQogICAgIChzaG91bGQgKGVxdWFsIChiaW5kYXQtbGVuZ3RoIHNwZWMgImFiYyIpIDQp KSkKIAogICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotdmFybGVuLXBhY2sgKCkK LSAgICA6ZXhwZWN0ZWQtcmVzdWx0IDpmYWlsZWQKICAgICAoc2hvdWxkIChlcXVhbCAoYmlu ZGF0LXBhY2sgc3BlYyAiIikgIlwwIikpCiAgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC1w YWNrIHNwZWMgImFiYyIpICJhYmNcMCIpKSkKIAotLSAKMi4zNi4xCgo= --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/x-patch; charset=UTF-8; name="0003-bindat-strz-Consistent-length-type-check.patch" Content-Disposition: attachment; filename="0003-bindat-strz-Consistent-length-type-check.patch" Content-Transfer-Encoding: base64 RnJvbSAzNGRjMWE0ZDM5ZjljMTE2MjhiMGM5YTJiYjNjMDgwZDZkZjIwOTgzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU2F0LCAyOCBNYXkgMjAyMiAyMzo1Mzo1MSAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMy83XSA7IGJpbmRhdCAoc3Ryeik6IENvbnNpc3RlbnQgbGVuZ3RoIHR5cGUgY2hl Y2sKClRoZSBzdHJ6IGxlbmd0aCBjb21wdXRhdGlvbiB1c2VzIGBudW1iZXJwJyB0byBzd2l0 Y2ggYmV0d2VlbgpmaXhlZC1sZW5ndGggYW5kIHZhcmlhYmxlLWxlbmd0aCBtb2Rlcywgc28g cGFja2luZyBzaG91bGQgdG9vLgotLS0KIGxpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwgfCAx NCArKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsIGIv bGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAppbmRleCBiMjM2ZTQ3ZTViLi4xYTdmZjYyNWVl IDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCisrKyBiL2xpc3AvZW1h Y3MtbGlzcC9iaW5kYXQuZWwKQEAgLTY5MywxMyArNjkzLDEzIEBAIGJpbmRhdC0tdHlwZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0IGAob3IgLGxlbiAoMSsgKGxlbmd0aCAs dmFsKSkpKSkpKQogICAgIChgKHBhY2sgLiAsYXJncykKICAgICAgKG1hY3JvZXhwLWxldDIg bmlsIGxlbiBsZW4KLSAgICAgICBgKGlmICxsZW4KLSAgICAgICAgICAgIDs7IFNhbWUgYXMg bm9uLXplcm8gdGVybWluYXRlZCBzdHJpbmdzIHNpbmNlIHdlIGRvbid0IGFjdHVhbGx5IGFk ZAotICAgICAgICAgICAgOzsgdGhlIHRlcm1pbmF0aW5nIHplcm8gYW55d2F5IChiZWNhdXNl IHdlIHJlbHkgb24gdGhlIGZhY3QgdGhhdAotICAgICAgICAgICAgOzsgYGJpbmRhdC1yYXcn IHdhcyBwcmVzdW1hYmx5IGluaXRpYWxpemVkIHdpdGggYWxsLXplcm9lcyBiZWZvcmUKLSAg ICAgICAgICAgIDs7IHdlIHN0YXJ0ZWQpLgotICAgICAgICAgICAgKGJpbmRhdC0tcGFjay1z dHIgLGxlbiAuICxhcmdzKQotICAgICAgICAgIChiaW5kYXQtLXBhY2stc3RyeiAuICxhcmdz KSkpKSkpCisgICAgICAgKGlmIChudW1iZXJwIGxlbikKKyAgICAgICAgICAgOzsgU2FtZSBh cyBub24temVybyB0ZXJtaW5hdGVkIHN0cmluZ3Mgc2luY2Ugd2UgZG9uJ3QgYWN0dWFsbHkg YWRkCisgICAgICAgICAgIDs7IHRoZSB0ZXJtaW5hdGluZyB6ZXJvIGFueXdheSAoYmVjYXVz ZSB3ZSByZWx5IG9uIHRoZSBmYWN0IHRoYXQKKyAgICAgICAgICAgOzsgYGJpbmRhdC1yYXcn IHdhcyBwcmVzdW1hYmx5IGluaXRpYWxpemVkIHdpdGggYWxsLXplcm9lcyBiZWZvcmUKKyAg ICAgICAgICAgOzsgd2Ugc3RhcnRlZCkuCisgICAgICAgICAgIGAoYmluZGF0LS1wYWNrLXN0 ciAsbGVuIC4gLGFyZ3MpCisgICAgICAgICBgKGJpbmRhdC0tcGFjay1zdHJ6IC4gLGFyZ3Mp KSkpKSkKIAogKGNsLWRlZm1ldGhvZCBiaW5kYXQtLXR5cGUgKG9wIChfIChlcWwgJ2JpdHMp KSAgbGVuKQogICAoYmluZGF0LS1wY2FzZSBvcAotLSAKMi4zNi4xCgo= --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/x-patch; charset=UTF-8; name="0004-bindat-strz-Always-write-null-terminator.patch" Content-Disposition: attachment; filename="0004-bindat-strz-Always-write-null-terminator.patch" Content-Transfer-Encoding: base64 RnJvbSA2MmFmMGEwNmQwZTBjYzkwNGU4YjMzYjFlZWQ2NzVmNjhlNDc4OTJjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAxNzozMToxOCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNC83XSBiaW5kYXQgKHN0cnopOiBBbHdheXMgd3JpdGUgbnVsbCB0ZXJtaW5hdG9y CgoqIGxpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwgKHN0cnopOiBXaGVuIHNwZWNpZnlpbmcg YSBmaXhlZCBsZW5ndGggZm9yCmEgcGFja2VkIHN0cnogc3RyaW5nLCBtYWtlIHN1cmUgdGhl IG51bGwgdGVybWluYXRvciBpcyBhbHdheXMgd3JpdHRlbgpldmVuIGlmIHRoZSBsZW5ndGgg b2YgdGhlIHN0cmluZyB0byBwYWNrIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bwp0aGUg Zml4ZWQgbGVuZ3RoLgoqIHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCAo c3Ryeik6IE1hcmsgdGVzdCBhcyBwYXNzaW5nLgotLS0KIGxpc3AvZW1hY3MtbGlzcC9iaW5k YXQuZWwgICAgICAgICAgICB8IDEyICsrKysrKystLS0tLQogdGVzdC9saXNwL2VtYWNzLWxp c3AvYmluZGF0LXRlc3RzLmVsIHwgIDEgLQogMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2Jp bmRhdC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwKaW5kZXggMWE3ZmY2MjVlZS4u NjhkMzBlMDg4YyAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCkBAIC02OTQsMTEgKzY5NCwxMyBAQCBiaW5k YXQtLXR5cGUKICAgICAoYChwYWNrIC4gLGFyZ3MpCiAgICAgIChtYWNyb2V4cC1sZXQyIG5p bCBsZW4gbGVuCiAgICAgICAgKGlmIChudW1iZXJwIGxlbikKLSAgICAgICAgICAgOzsgU2Ft ZSBhcyBub24temVybyB0ZXJtaW5hdGVkIHN0cmluZ3Mgc2luY2Ugd2UgZG9uJ3QgYWN0dWFs bHkgYWRkCi0gICAgICAgICAgIDs7IHRoZSB0ZXJtaW5hdGluZyB6ZXJvIGFueXdheSAoYmVj YXVzZSB3ZSByZWx5IG9uIHRoZSBmYWN0IHRoYXQKLSAgICAgICAgICAgOzsgYGJpbmRhdC1y YXcnIHdhcyBwcmVzdW1hYmx5IGluaXRpYWxpemVkIHdpdGggYWxsLXplcm9lcyBiZWZvcmUK LSAgICAgICAgICAgOzsgd2Ugc3RhcnRlZCkuCi0gICAgICAgICAgIGAoYmluZGF0LS1wYWNr LXN0ciAsbGVuIC4gLGFyZ3MpCisgICAgICAgICAgIGAocHJvZ24KKyAgICAgICAgICAgICAg OzsgU2FtZSBhcyB0aGUgc3RyIHR5cGUsIGV4Y2VwdCBhbHdheXMgbGVhdmUgcm9vbSBmb3Ig dGhlIG51bGwKKyAgICAgICAgICAgICAgOzsgdGVybWluYXRvci4gVGhpcyBhc3N1bWVzIHRo YXQgYGxlbicgPiAwLgorICAgICAgICAgICAgICAoYmluZGF0LS1wYWNrLXN0ciAsKDEtIGxl bikgLiAsYXJncykKKyAgICAgICAgICAgICAgOzsgIldyaXRlIiB0aGUgbnVsbCB0ZXJtaW5h dG9yLiBUaGlzIGFzc3VtZXMgdGhhdCBgYmluZGF0LXJhdycgd2FzCisgICAgICAgICAgICAg IDs7IGluaXRpYWxpemVkIHdpdGggemVyb2VzLgorICAgICAgICAgICAgICAoc2V0cSBiaW5k YXQtaWR4ICgxKyBiaW5kYXQtaWR4KSkpCiAgICAgICAgICBgKGJpbmRhdC0tcGFjay1zdHJ6 IC4gLGFyZ3MpKSkpKSkKIAogKGNsLWRlZm1ldGhvZCBiaW5kYXQtLXR5cGUgKG9wIChfIChl cWwgJ2JpdHMpKSAgbGVuKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmlu ZGF0LXRlc3RzLmVsIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCmlu ZGV4IDZhZGRlZDkzOTAuLmJhZjQzMTMxNzAgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFj cy1saXNwL2JpbmRhdC10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5k YXQtdGVzdHMuZWwKQEAgLTE3NSw3ICsxNzUsNiBAQCBiaW5kYXQtdGVzdC0tcmVjdXJzaXZl CiAgICAgKHNob3VsZCAoZXF1YWwgKGJpbmRhdC1wYWNrIHNwZWMgImEiKSAiYVwwIikpKQog CiAgIChlcnQtZGVmdGVzdCBiaW5kYXQtdGVzdC0tc3Ryei1maXhlZGxlbi1wYWNrLW92ZXJm bG93ICgpCi0gICAgOmV4cGVjdGVkLXJlc3VsdCA6ZmFpbGVkCiAgICAgKHNob3VsZCAoZXF1 YWwgKGJpbmRhdC1wYWNrIHNwZWMgImFiYyIpICJhXDAiKSkpCiAKICAgKGVydC1kZWZ0ZXN0 IGJpbmRhdC10ZXN0LS1zdHJ6LWZpeGVkbGVuLXVucGFjayAoKQotLSAKMi4zNi4xCgo= --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/x-patch; charset=UTF-8; name="0005-bindat-strz-Fix-wrong-type-argument-error-when-unpac.patch" Content-Disposition: attachment; filename*0="0005-bindat-strz-Fix-wrong-type-argument-error-when-unpac.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjYTA4OGY1ZmMxMTY1NDJjN2UxOTEzNmViMzU0NmI3MTIwMGFmNjEyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAxODowOTowOCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNS83XSBiaW5kYXQgKHN0cnopOiBGaXggd3JvbmctdHlwZS1hcmd1bWVudCBlcnJv ciB3aGVuCiB1bnBhY2tpbmcKCiogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAoc3Ryeik6 IEZpeCAod3JvbmctdHlwZS1hcmd1bWVudApudW1iZXItb3ItbWFya2VyLXAgbmlsKSBlcnJv ciB3aGVuIHVucGFja2luZyBhIHN0cnogd2l0aAp1bnNwZWNpZmllZCAodmFyaWFibGUpIGxl bmd0aC4KKiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMuZWwgKHN0cnopOiBN YXJrIHRlc3QgYXMgcGFzc2luZy4KLS0tCiBsaXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsICAg ICAgICAgICAgfCA0ICsrLS0KIHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5l bCB8IDEgLQogMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCBiL2xpc3AvZW1h Y3MtbGlzcC9iaW5kYXQuZWwKaW5kZXggNjhkMzBlMDg4Yy4uOTliODk2OTk4ZiAxMDA2NDQK LS0tIGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3Av YmluZGF0LmVsCkBAIC0xNjUsMTIgKzE2NSwxMiBAQCBiaW5kYXQtLXVucGFjay1zdHIKICAg ICAoaWYgKHN0cmluZ3AgcykgcwogICAgICAgKGFwcGx5ICMndW5pYnl0ZS1zdHJpbmcgcykp KSkKIAotKGRlZnVuIGJpbmRhdC0tdW5wYWNrLXN0cnogKGxlbikKKyhkZWZ1biBiaW5kYXQt LXVucGFjay1zdHJ6ICgmb3B0aW9uYWwgbGVuKQogICAobGV0ICgoaSAwKSBzKQogICAgICh3 aGlsZSAoYW5kIChpZiBsZW4gKDwgaSBsZW4pIHQpICgvPSAoYXJlZiBiaW5kYXQtcmF3ICgr IGJpbmRhdC1pZHggaSkpIDApKQogICAgICAgKHNldHEgaSAoMSsgaSkpKQogICAgIChzZXRx IHMgKHN1YnN0cmluZyBiaW5kYXQtcmF3IGJpbmRhdC1pZHggKCsgYmluZGF0LWlkeCBpKSkp Ci0gICAgKHNldHEgYmluZGF0LWlkeCAoKyBiaW5kYXQtaWR4IGxlbikpCisgICAgKHNldHEg YmluZGF0LWlkeCAoKyBiaW5kYXQtaWR4IChvciBsZW4gKDErIGkpKSkpCiAgICAgKGlmIChz dHJpbmdwIHMpIHMKICAgICAgIChhcHBseSAjJ3VuaWJ5dGUtc3RyaW5nIHMpKSkpCiAKZGlm ZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCBiL3Rlc3Qv bGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbAppbmRleCBiYWY0MzEzMTcwLi41OGM4 MTQ0YWM2IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQtdGVzdHMu ZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsCkBAIC0xOTQs NyArMTk0LDYgQEAgYmluZGF0LXRlc3QtLXJlY3Vyc2l2ZQogICAgIChzaG91bGQgKGVxdWFs IChiaW5kYXQtcGFjayBzcGVjICJhYmMiKSAiYWJjXDAiKSkpCiAKICAgKGVydC1kZWZ0ZXN0 IGJpbmRhdC10ZXN0LS1zdHJ6LXZhcmxlbi11bnBhY2sgKCkKLSAgICA6ZXhwZWN0ZWQtcmVz dWx0IDpmYWlsZWQKICAgICA7OyBUaGVyZSBpcyBubyB0ZXN0IGZvciB1bnBhY2tpbmcgYSBz dHJpbmcgd2l0aG91dCBhIG51bGwKICAgICA7OyB0ZXJtaW5hdG9yIGJlY2F1c2Ugc3VjaCBw YWNrZWQgc3RyaW5ncyBjYW5ub3QgYmUgcHJvZHVjZWQgZnJvbQogICAgIDs7IHRoZSBzcGVj IChwYWNraW5nICJhIiBzaG91bGQgcHJvZHVjZSAiYVwwIiwgbm90ICJhIikuCi0tIAoyLjM2 LjEKCg== --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/x-patch; charset=UTF-8; name="0006-bindat-strz-Move-all-pack-logic-to-pack-function.patch" Content-Disposition: attachment; filename*0="0006-bindat-strz-Move-all-pack-logic-to-pack-function.patch" Content-Transfer-Encoding: base64 RnJvbSA1NWM1NTU1ZmFlNDdiNTJiMzg4MTU3M2YwMDVkYjQ5ZjI3OTkxMjM2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAyMToyMzo1NyAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNi83XSA7IGJpbmRhdCAoc3Ryeik6IE1vdmUgYWxsIHBhY2sgbG9naWMgdG8gcGFj ayBmdW5jdGlvbgoKLS0tCiBsaXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsIHwgMzAgKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9u cygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2Jp bmRhdC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQuZWwKaW5kZXggOTliODk2OTk4Zi4u YjAyZDE5ZmZiYSAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbAorKysg Yi9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCkBAIC00MzksMTEgKzQzOSwxOSBAQCBiaW5k YXQtLXBhY2stc3RyCiAgICAgKGFzZXQgYmluZGF0LXJhdyAoKyBiaW5kYXQtaWR4IGkpIChh cmVmIHYgaSkpKQogICAoc2V0cSBiaW5kYXQtaWR4ICgrIGJpbmRhdC1pZHggbGVuKSkpCiAK LShkZWZ1biBiaW5kYXQtLXBhY2stc3RyeiAodikKLSAgKGxldCAoKGxlbiAobGVuZ3RoIHYp KSkKLSAgICAoZG90aW1lcyAoaSBsZW4pCi0gICAgICAoYXNldCBiaW5kYXQtcmF3ICgrIGJp bmRhdC1pZHggaSkgKGFyZWYgdiBpKSkpCi0gICAgKHNldHEgYmluZGF0LWlkeCAoKyBiaW5k YXQtaWR4IGxlbiAxKSkpKQorKGRlZnVuIGJpbmRhdC0tcGFjay1zdHJ6IChsZW4gdikKKyAg KGlmIChudW1iZXJwIGxlbikKKyAgICAgIChwcm9nbgorICAgICAgICA7OyBTYW1lIGFzIHRo ZSBzdHIgdHlwZSwgZXhjZXB0IGFsd2F5cyBsZWF2ZSByb29tIGZvciB0aGUgbnVsbAorICAg ICAgICA7OyB0ZXJtaW5hdG9yLiBUaGlzIGFzc3VtZXMgdGhhdCBgbGVuJyA+IDAuCisgICAg ICAgIChiaW5kYXQtLXBhY2stc3RyICgxLSBsZW4pIHYpCisgICAgICAgIDs7ICJXcml0ZSIg dGhlIG51bGwgdGVybWluYXRvci4gVGhpcyBhc3N1bWVzIHRoYXQgYGJpbmRhdC1yYXcnIHdh cworICAgICAgICA7OyBpbml0aWFsaXplZCB3aXRoIHplcm9lcy4KKyAgICAgICAgKHNldHEg YmluZGF0LWlkeCAoMSsgYmluZGF0LWlkeCkpKQorICAgIChsZXQgKChsZW4gKGxlbmd0aCB2 KSkpCisgICAgICAoZG90aW1lcyAoaSBsZW4pCisgICAgICAgIChhc2V0IGJpbmRhdC1yYXcg KCsgYmluZGF0LWlkeCBpKSAoYXJlZiB2IGkpKSkKKyAgICAgIChzZXRxIGJpbmRhdC1pZHgg KCsgYmluZGF0LWlkeCBsZW4gMSkpKSkpCiAKIChkZWZ1biBiaW5kYXQtLXBhY2stYml0cyAo bGVuIHYpCiAgIChsZXQgKChibnVtICgxLSAoKiA4IGxlbikpKSBqIG0pCkBAIC02OTEsMTcg KzY5OSw3IEBAIGJpbmRhdC0tdHlwZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgo bnVsbCBsZW4pIGAoMSsgKGxlbmd0aCAsdmFsKSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKChudW1iZXJwIGxlbikgbGVuKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICh0IGAob3IgLGxlbiAoMSsgKGxlbmd0aCAsdmFsKSkpKSkpKQotICAgIChgKHBhY2sgLiAs YXJncykKLSAgICAgKG1hY3JvZXhwLWxldDIgbmlsIGxlbiBsZW4KLSAgICAgICAoaWYgKG51 bWJlcnAgbGVuKQotICAgICAgICAgICBgKHByb2duCi0gICAgICAgICAgICAgIDs7IFNhbWUg YXMgdGhlIHN0ciB0eXBlLCBleGNlcHQgYWx3YXlzIGxlYXZlIHJvb20gZm9yIHRoZSBudWxs Ci0gICAgICAgICAgICAgIDs7IHRlcm1pbmF0b3IuIFRoaXMgYXNzdW1lcyB0aGF0IGBsZW4n ID4gMC4KLSAgICAgICAgICAgICAgKGJpbmRhdC0tcGFjay1zdHIgLCgxLSBsZW4pIC4gLGFy Z3MpCi0gICAgICAgICAgICAgIDs7ICJXcml0ZSIgdGhlIG51bGwgdGVybWluYXRvci4gVGhp cyBhc3N1bWVzIHRoYXQgYGJpbmRhdC1yYXcnIHdhcwotICAgICAgICAgICAgICA7OyBpbml0 aWFsaXplZCB3aXRoIHplcm9lcy4KLSAgICAgICAgICAgICAgKHNldHEgYmluZGF0LWlkeCAo MSsgYmluZGF0LWlkeCkpKQotICAgICAgICAgYChiaW5kYXQtLXBhY2stc3RyeiAuICxhcmdz KSkpKSkpCisgICAgKGAocGFjayAuICxhcmdzKSBgKGJpbmRhdC0tcGFjay1zdHJ6ICxsZW4g LiAsYXJncykpKSkKIAogKGNsLWRlZm1ldGhvZCBiaW5kYXQtLXR5cGUgKG9wIChfIChlcWwg J2JpdHMpKSAgbGVuKQogICAoYmluZGF0LS1wY2FzZSBvcAotLSAKMi4zNi4xCgo= --------------0MTBNz2fpXFlh8klUq0XWJwE Content-Type: text/x-patch; charset=UTF-8; name="0007-bindat-strz-Fix-packing-of-long-strings-with-legacy-.patch" Content-Disposition: attachment; filename*0="0007-bindat-strz-Fix-packing-of-long-strings-with-legacy-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiNzk0YWUzOTU3YmNkN2VmZTU0ZDU1MWEyNDQ4NTZjMTUwM2Q0YjAzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNoYXJkIEhhbnNlbiA8cmhhbnNlbkByaGFuc2Vu Lm9yZz4KRGF0ZTogU3VuLCAyOSBNYXkgMjAyMiAyMTo0NjoxNiAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggNy83XSBiaW5kYXQgKHN0cnopOiBGaXggcGFja2luZyBvZiBsb25nIHN0cmluZ3Mg d2l0aAogbGVnYWN5LXN0eWxlIHNwZWMKCiogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAo c3Ryeik6IENhbGwgdGhlIHByb3BlciBoYW5kbGVyIHdoZW4KcGFja2luZyB0byBmaXggbGFj ayBvZiBudWxsIHRlcm1pbmF0b3Igd2hlbiBwYWNraW5nIHN0cmluZ3Mgd2l0aApsZW5ndGgg Z3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBkZWNsYXJlZCBsZW5ndGguCiogdGVzdC9s aXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3RzLmVsIChzdHJ6KTogTWFyayB0ZXN0IGFzIHBh c3NpbmcuCi0tLQogbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCAgICAgICAgICAgIHwgMyAr Ky0KIHRlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbCB8IDEgLQogMiBmaWxl cyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC5lbCBiL2xpc3AvZW1hY3MtbGlzcC9iaW5kYXQu ZWwKaW5kZXggYjAyZDE5ZmZiYS4uOWVkMWFiMTA2NSAxMDA2NDQKLS0tIGEvbGlzcC9lbWFj cy1saXNwL2JpbmRhdC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYmluZGF0LmVsCkBAIC00 ODAsNyArNDgwLDggQEAgYmluZGF0LS1wYWNrLWl0ZW0KICAgICgndTI0ciAoYmluZGF0LS1w YWNrLXUyNHIgdikpCiAgICAoJ3UzMnIgKGJpbmRhdC0tcGFjay11MzJyIHYpKQogICAgKCdi aXRzIChiaW5kYXQtLXBhY2stYml0cyBsZW4gdikpCi0gICAoKG9yICdzdHIgJ3N0cnopIChi aW5kYXQtLXBhY2stc3RyIGxlbiB2KSkKKyAgICgnc3RyIChiaW5kYXQtLXBhY2stc3RyIGxl biB2KSkKKyAgICgnc3RyeiAoYmluZGF0LS1wYWNrLXN0cnogbGVuIHYpKQogICAgKCd2ZWMK ICAgICAobGV0ICgobCAobGVuZ3RoIHYpKSAodmxlbiAxKSkKICAgICAgIChpZiAoY29uc3Ag dmVjdHlwZSkKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0 cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL2JpbmRhdC10ZXN0cy5lbAppbmRleCA1OGM4 MTQ0YWM2Li5kZjAzNDYzNDc1IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9i aW5kYXQtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3AvYmluZGF0LXRlc3Rz LmVsCkBAIC0yMTMsNyArMjEzLDYgQEAgYmluZGF0LXRlc3QtLXJlY3Vyc2l2ZQogICAgIChz aG91bGQgKGVxdWFsIChiaW5kYXQtcGFjayBzcGVjICcoKHggLiAiYSIpKSkgImFcMCIpKSkK IAogICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotbGVnYWN5LWZpeGVkbGVuLXBh Y2stb3ZlcmZsb3cgKCkKLSAgICA6ZXhwZWN0ZWQtcmVzdWx0IDpmYWlsZWQKICAgICAoc2hv dWxkIChlcXVhbCAoYmluZGF0LXBhY2sgc3BlYyAnKCh4IC4gImFiYyIpKSkgImFcMCIpKSkK IAogICAoZXJ0LWRlZnRlc3QgYmluZGF0LXRlc3QtLXN0cnotbGVnYWN5LWZpeGVkbGVuLXVu cGFjayAoKQotLSAKMi4zNi4xCgo= --------------0MTBNz2fpXFlh8klUq0XWJwE-- --------------1eIJVQAa106ssiuckOh1C1sx-- --------------PdyOIWPZpJUdxJXtcJu0CVrF Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfoCctB7fyOzE09bW0GvrRa1X4hQFAmKW+OYACgkQ0GvrRa1X 4hRhyBAAi1q90UIugluxe7jValjEz3J3NeVQgetOhwoTbyPz31UwuUtnDHdgIaO2 Wj7PcOnpDR8hSo8EgXr4pA5SEtqqZlmMZMw4Oauul5jQIFmJZAocBfzMtHWiGqaI bRe2hsTjndXCOawneOoeV0DEHmh7hgptD/sT8epRWsMzrIIeAYm5YG2Jms2msLYY 8ddDrjj7Q+xH/luGE+4QPXWqC6XHgRZRxShAAYNxdaDqZtVNWryFFshMtwbhprCd 4F1GwlFZ0NX+wvb6aPB2g/C+ONAL44G4xTJ/Ji8dUs8DnZxapD7j8oKwUfhJYPpZ 8YrB60Y1qIrzqF9PUvbvt6IcvUxh2Ft77/wJFIN9lfgwyBr4KuoDaQt2mWcyEOrC BAM1HT9VhItNyjlkacJl/uWxLnIFcaZmbEORFvY8X67Rx0WOFFVg87O65SA5LBFZ vf1YFv+C6vByYJzLDPN8SBfzeMLPWGY4jDjDEcU98iUF9/k0BDSYwwxGeJEFT8RG 1qJqe/+8vJiFwZSzQDwRlSJxa4OKEbuQopecRV8AJh86+o8yHGpPvSwQVkQj/L7U q08EwQZ7hMtv+lGfwkopKem+iX27FR1oLTbeSMlGCXYknUfnRkecfh0RJXzlxJvl 5GBSBJhW/c8k/i562F2qUz8whYXLN21us9pbg2CNYIFbx90IKhM= =icdE -----END PGP SIGNATURE----- --------------PdyOIWPZpJUdxJXtcJu0CVrF-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 01 08:05:10 2022 Received: (at 55719) by debbugs.gnu.org; 1 Jun 2022 12:05:10 +0000 Received: from localhost ([127.0.0.1]:49875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwN66-0006nC-8K for submit@debbugs.gnu.org; Wed, 01 Jun 2022 08:05:10 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:58100) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwN62-0006mV-89 for 55719@debbugs.gnu.org; Wed, 01 Jun 2022 08:05:09 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8A2A38075B; Wed, 1 Jun 2022 08:05:00 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id D69C7807CB; Wed, 1 Jun 2022 08:04:58 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1654085098; bh=HH/KVXXUqEDmW3DcrX9Xs4C2fwGrjz2fDyCVKzf2DAk=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=B0g7yR4YkaqfkiRxcu2T6x2K2c9Y/Mji+FW1xs0QREdCY/dJQ3ZFSla531tVV3S/+ Mi5T99ix+PLMOfj22WFkFyGHlYsF9flTfgO8pe7VHRrf5yv3K9cj8CfGI8BIE9rZNK fu8RCr01QtMzqdyikWjYTD8XE5ZJFaWqiFrBsOb1ZQv3cy8nFZnMkxzCcijG76hm0l hBKkztjhK/QJEqAkgobDdZpbbpuaHnODw7pcZuCZ+vXhLyY1mpxG2Hp/r74kE70M49 tXyuZF1Y/23DJRm/v1QnPFn5HV6MCeKygfUmI54Yozi7FFk12sVfVbsElYsY/V+aaH GBHVsrGDm/vtA== Received: from pastel (unknown [45.72.221.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 36DAC120346; Wed, 1 Jun 2022 08:04:58 -0400 (EDT) From: Stefan Monnier To: Richard Hansen Subject: Re: [PATCH] bindat strz fixes Message-ID: References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> Date: Wed, 01 Jun 2022 08:04:56 -0400 In-Reply-To: (Richard Hansen's message of "Wed, 1 Jun 2022 01:28:06 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.055 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >>> + (ert-deftest bindat-test--strz-fixedlen-pack-overflow () >>> + :expected-result :failed >>> + (should (equal (bindat-pack spec "abc") "\141\0"))) >> I think this changes the intended semantics. Until now `strz N` has >> meant that N bytes are used to encode the string and that it can >> hold upto a string of length N (in which case there's no terminating NUL >> byte). I agree that it's not the only valid semantics, but I'm not sure >> we want to change it at this point. >> Do you have a particular reason to make this change. > > A few: > * The documentation says that the packed output is null terminated > so that's what users expect. > * It is safer (packed output is less likely to cause some other > program to run past the end of the field). > * Without this change, there is no difference between `strz N` and > `str N`. So what would be the point of `strz N`? > * If the user selected strz, the application probably requires null > termination in all cases, not just when the string is under a > certain length. You're listing advantages of this choice, which we know about already. The other choice also has advantages. These don't count as "particular reasons" (e.g. a real-life concrete *need* for it, rather than a mere preference). The particular reason to prefer the current behavior is backward compatibility (which we could call "inertia"). Note also that `strz` without a length (or with a nil length) behaves the way you want. Of course, we could add an additional (optional) arg to `strz` to specify what should happen when unpacking a string with missing NUL byte as well as whether to truncate to N-1 chars rather than to N chars to make sure there is a terminating NUL byte. >>> + (ert-deftest bindat-test--strz-fixedlen-unpack () >>> + (should (equal (bindat-unpack spec "\0\0") "")) >>> + (should (equal (bindat-unpack spec "a\0") "a")))) >> How 'bout >> (bindat-unpack spec "ab") >> ? > > I added some comments explaining why cases like that aren't tested. The byte-string to unpack is not necessarily built from our own code (usually bindat is used to communicate with some other application), so whether our code can generate "ab" is not really relevant: the question still comes up about what we should do with "ab" (where valid answers could be to return "ab" or to return "a" or to signal an error, ...). Of course we can also decide it's "undefined". Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 01 16:24:05 2022 Received: (at 55719) by debbugs.gnu.org; 1 Jun 2022 20:24:05 +0000 Received: from localhost ([127.0.0.1]:51978 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwUsv-0007Qr-C0 for submit@debbugs.gnu.org; Wed, 01 Jun 2022 16:24:05 -0400 Received: from spork.scientician.org ([66.228.35.160]:48722) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwUss-0007QX-Bl for 55719@debbugs.gnu.org; Wed, 01 Jun 2022 16:24:03 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 976B14A1AC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-spork; t=1654115041; bh=TQGZWiDjl3C76SDK4HSb+Z3G6uP/eUBaa+FY4ABJtKc=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=a8rRxoZgD/60IvLo5xnZ8b2/BxyYG97g38ImeGMoj3xQdWRKIICpae9os+0qHXLo3 v8B+9KcRJiNTmjzxbzVHB3FPbP1s7Hf/cJidu1fgA8xjleKs6ghrVgehDO3k7kHUof A0U6x9Hcba0Qc2+Q+pcMXHTQAv1u3H2C6Qvcs0GI= X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id 67662201B8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1654115038; bh=TQGZWiDjl3C76SDK4HSb+Z3G6uP/eUBaa+FY4ABJtKc=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=e6o0lYj6bPmr2IIGz0Qg/FmLj32p7GlcYOK9+pAiedVty/sOiCb8j7mLaQx19Q+hR Emmaezku54XtyhAy9aJvAFtt7wPr10x/3Jy2H3aGeIu/fal11W8ZO2BWsJcgP2Q+6X /VMc9R+l6imd2LnHAAAYybh1BGvk8oEy//vSFe+Y= Message-ID: Date: Wed, 1 Jun 2022 16:23:57 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH] bindat strz fixes Content-Language: en-US To: Stefan Monnier References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> From: Richard Hansen In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------iTxEO0PgQustDwet0QF5hWXF" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------iTxEO0PgQustDwet0QF5hWXF Content-Type: multipart/mixed; boundary="------------a003EM4AzzpTlGXBTeH9r60P"; protected-headers="v1" From: Richard Hansen To: Stefan Monnier Cc: emacs-devel@gnu.org, 55719@debbugs.gnu.org Message-ID: Subject: Re: [PATCH] bindat strz fixes References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> In-Reply-To: --------------a003EM4AzzpTlGXBTeH9r60P Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gNi8xLzIyIDA4OjA0LCBTdGVmYW4gTW9ubmllciB3cm90ZToNCj4+ICAgICogVGhlIGRv Y3VtZW50YXRpb24gc2F5cyB0aGF0IHRoZSBwYWNrZWQgb3V0cHV0IGlzIG51bGwgdGVybWlu YXRlZA0KPj4gICAgICBzbyB0aGF0J3Mgd2hhdCB1c2VycyBleHBlY3QuDQo+PiAgICAqIEl0 IGlzIHNhZmVyIChwYWNrZWQgb3V0cHV0IGlzIGxlc3MgbGlrZWx5IHRvIGNhdXNlIHNvbWUg b3RoZXINCj4+ICAgICAgcHJvZ3JhbSB0byBydW4gcGFzdCB0aGUgZW5kIG9mIHRoZSBmaWVs ZCkuDQo+PiAgICAqIFdpdGhvdXQgdGhpcyBjaGFuZ2UsIHRoZXJlIGlzIG5vIGRpZmZlcmVu Y2UgYmV0d2VlbiBgc3RyeiBOYCBhbmQNCj4+ICAgICAgYHN0ciBOYC4gU28gd2hhdCB3b3Vs ZCBiZSB0aGUgcG9pbnQgb2YgYHN0cnogTmA/DQo+PiAgICAqIElmIHRoZSB1c2VyIHNlbGVj dGVkIHN0cnosIHRoZSBhcHBsaWNhdGlvbiBwcm9iYWJseSByZXF1aXJlcyBudWxsDQo+PiAg ICAgIHRlcm1pbmF0aW9uIGluIGFsbCBjYXNlcywgbm90IGp1c3Qgd2hlbiB0aGUgc3RyaW5n IGlzIHVuZGVyIGENCj4+ICAgICAgY2VydGFpbiBsZW5ndGguDQo+IA0KPiBZb3UncmUgbGlz dGluZyBhZHZhbnRhZ2VzIG9mIHRoaXMgY2hvaWNlLCB3aGljaCB3ZSBrbm93IGFib3V0IGFs cmVhZHkuDQo+IFRoZSBvdGhlciBjaG9pY2UgYWxzbyBoYXMgYWR2YW50YWdlcy4gIFRoZXNl IGRvbid0IGNvdW50IGFzICJwYXJ0aWN1bGFyDQo+IHJlYXNvbnMiIChlLmcuIGEgcmVhbC1s aWZlIGNvbmNyZXRlICpuZWVkKiBmb3IgaXQsIHJhdGhlciB0aGFuIGEgbWVyZQ0KPiBwcmVm ZXJlbmNlKS4NCg0KSSBkb24ndCBoYXZlIGEgY29uY3JldGUgbmVlZCBmb3IgaXQgYXQgdGhl IG1vbWVudC4gSSBqdXN0IG5vdGljZWQgdGhlIGJ1ZyB3aGlsZSBJIHdhcyBmaXhpbmcgdGhl IG90aGVyIGJ1Z3MuIEkgY2FuIGxlYXZlIHRoYXQgY2hhbmdlIG91dCBvZiB0aGUgcGF0Y2gg c2VyaWVzIGlmIHRoYXQgaXMgdGhlIG9ubHkgdGhpbmcgaW1wZWRpbmcgbWVyZ2UuDQoNCj4g VGhlIHBhcnRpY3VsYXIgcmVhc29uIHRvIHByZWZlciB0aGUgY3VycmVudCBiZWhhdmlvciBp cw0KPiBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICh3aGljaCB3ZSBjb3VsZCBjYWxsICJpbmVy dGlhIikuDQoNCkFueW9uZSB0aGF0IG5lZWRzIHRoZSBjdXJyZW50IGJlaGF2aW9yIHNob3Vs ZCBiZSB1c2luZyBgc3RyIE5gLCBub3QgYHN0cnogTmAuIElmIHRoZXkncmUgdXNpbmcgYHN0 cnogTmAsIHRoZW4gSSB3b3VsZCBjb25zaWRlciB0aGF0IHRvIGJlIGEgYnVnIGluIHRoZWly IGNvZGUuIElmIHRoaXMgY2hhbmdlIGJyZWFrcyBzb21lb25lLCB0aGV5IGNhbiBmaXggaXQg ZWFzaWx5OiBqdXN0IGNoYW5nZSBgc3RyeiBOYCB0byBgc3RyIE5gLiBJIHVuZGVyc3RhbmQg dGhhdCB3ZSBzaG91bGQgZW5kZWF2b3IgdG8gbWFpbnRhaW4gY29tcGF0aWJpbGl0eSwgYnV0 IGtlZXBpbmcgdGhlIGN1cnJlbnQgYmVoYXZpb3Igd291bGQgYmUgaW50ZW50aW9uYWxseSBw cmVzZXJ2aW5nIGEgYnVnIHRvIGFjY29tbW9kYXRlIG90aGVyIGJ1Z3MuIEkgZG9uJ3QgdGhp bmsgdGhhdCdzIGEgZ29vZCB0cmFkZS1vZmYuDQoNCj4gTm90ZSBhbHNvIHRoYXQgYHN0cnpg IHdpdGhvdXQgYSBsZW5ndGggKG9yIHdpdGggYSBuaWwgbGVuZ3RoKSBiZWhhdmVzDQo+IHRo ZSB3YXkgeW91IHdhbnQuDQoNCk5vIC0tIHN0cnogd2l0aG91dCBhIGxlbmd0aCByZXN1bHRz IGluIHZhcmlhYmxlIGxlbmd0aCBlbmNvZGluZy4gV2l0aG91dCB0aGVzZSBjaGFuZ2VzLCB0 aGUgb25seSB3YXkgdG8gZ2V0IGEgZml4ZWQgbGVuZ3RoIG91dHB1dCB3aXRoIGd1YXJhbnRl ZWQgbnVsbCB0ZXJtaW5hdGlvbiBpcyB0byBkbyBgKHN1YnN0cmluZyBzdHIgMCAoMS0gTikp YCBiZWZvcmUgcGFja2luZy4gKE9yIGV4cGxpY2l0bHkgcGFjayBhIHNlcGFyYXRlIHplcm8g Ynl0ZSBpbW1lZGlhdGVseSBhZnRlciB0aGUgYHN0ciBOLTFgIG9yIGBzdHJ6IE4tMWAgZW50 cnkuKQ0KDQo+IE9mIGNvdXJzZSwgd2UgY291bGQgYWRkIGFuIGFkZGl0aW9uYWwgKG9wdGlv bmFsKSBhcmcgdG8gYHN0cnpgIHRvDQo+IHNwZWNpZnkgd2hhdCBzaG91bGQgaGFwcGVuIHdo ZW4gdW5wYWNraW5nIGEgc3RyaW5nIHdpdGggbWlzc2luZyBOVUwgYnl0ZQ0KPiBhcyB3ZWxs IGFzIHdoZXRoZXIgdG8gdHJ1bmNhdGUgdG8gTi0xIGNoYXJzIHJhdGhlciB0aGFuIHRvIE4g Y2hhcnMgdG8NCj4gbWFrZSBzdXJlIHRoZXJlIGlzIGEgdGVybWluYXRpbmcgTlVMIGJ5dGUu DQoNCkkgZG9uJ3QgdGhpbmsgdGhhdCdzIG5lY2Vzc2FyeS4gSSB0aGluayBtb3N0IHVzZSBj YXNlcyBhcmUgc2F0aXNmaWVkIGJ5IHRoZSBjdXJyZW50IHN0ciBiZWhhdmlvciBhbmQgdGhl IHN0cnogYmVoYXZpb3Igd2l0aCB0aGVzZSBwYXRjaGVzLg0KDQo+Pj4gSG93ICdib3V0DQo+ Pj4gICAgICAgIChiaW5kYXQtdW5wYWNrIHNwZWMgImFiIikNCj4+PiA/DQo+Pg0KPj4gSSBh ZGRlZCBzb21lIGNvbW1lbnRzIGV4cGxhaW5pbmcgd2h5IGNhc2VzIGxpa2UgdGhhdCBhcmVu J3QgdGVzdGVkLg0KPiANCj4gVGhlIGJ5dGUtc3RyaW5nIHRvIHVucGFjayBpcyBub3QgbmVj ZXNzYXJpbHkgYnVpbHQgZnJvbSBvdXIgb3duIGNvZGUNCj4gKHVzdWFsbHkgYmluZGF0IGlz IHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBzb21lIG90aGVyIGFwcGxpY2F0aW9uKSwgc28N Cj4gd2hldGhlciBvdXIgY29kZSBjYW4gZ2VuZXJhdGUgImFiIiBpcyBub3QgcmVhbGx5IHJl bGV2YW50OiB0aGUgcXVlc3Rpb24NCj4gc3RpbGwgY29tZXMgdXAgYWJvdXQgd2hhdCB3ZSBz aG91bGQgZG8gd2l0aCAiYWIiICh3aGVyZSB2YWxpZCBhbnN3ZXJzDQo+IGNvdWxkIGJlIHRv IHJldHVybiAiYWIiIG9yIHRvIHJldHVybiAiYSIgb3IgdG8gc2lnbmFsIGFuIGVycm9yLCAu Li4pLg0KPiBPZiBjb3Vyc2Ugd2UgY2FuIGFsc28gZGVjaWRlIGl0J3MgInVuZGVmaW5lZCIu DQoNClJlZ2FyZGxlc3Mgb2Ygd2hhdCBvdGhlciBhcHBsaWNhdGlvbnMgcHJvZHVjZSwgcGFj a2VkIHN0cmluZ3MgbGlrZSB0aGF0IGFyZSBpbnZhbGlkIGFjY29yZGluZyB0byB0aGUgc3Bl YyBwcm92aWRlZCB0byBgYmluZGF0LXVucGFja2AuIEF0dGVtcHRpbmcgdG8gZG8gc29tZXRo aW5nIHVzZWZ1bCB3aXRoIHN1Y2ggaW52YWxpZCBzdHJpbmdzIGFzc3VtZXMgdGhhdCBQb3N0 ZWwncyBMYXcgaXMgYSBnb29kIHRoaW5nLCB3aGljaCBJIGRvbid0IGFncmVlIHdpdGggKGVz cGVjaWFsbHkgd2l0aCBzZWN1cml0eS1zZW5zaXRpdmUgcHJvdG9jb2xzKS4gSSB0aGluayBp dCBpcyBzYWZlc3QgdG8gc2lnbmFsIGFuIGVycm9yLCB3aGljaCBpdCBjdXJyZW50bHkgZG9l cy4NCg0KQSByZWFsIGV4YW1wbGUgb2Ygd2h5IGl0IG1pZ2h0IGJlIHVuZGVzaXJhYmxlIHRv IGF0dGVtcHQgdG8gcHJvY2VzcyBhIHN0cnogc3RyaW5nIHdpdGhvdXQgYSBudWxsIHRlcm1p bmF0b3I6DQoNCiAgIDEuIFRoZSBzZW5kZXIgc3RyZWFtcyBtdWx0aXBsZSBwYWNrZWQgbWVz c2FnZXMgb3ZlciBhIHJlbGlhYmxlLCBpbi1vcmRlciBwcm90b2NvbCBsaWtlIFRDUCBvciBw aXBlcy4NCiAgIDIuIFRoZSBzZW5kaW5nIHN5c3RlbSBicmVha3MgdXAgdGhlIG1lc3NhZ2Vz IGF0IGFyYml0cmFyeSBwbGFjZXMgdG8gZml0IGluIHBhY2tldHMvYnVmZmVycywgc28gdGhl IHJlY2VpdmluZyBzaWRlIG1pZ2h0IHNlZSBhbiBpbmNvbXBsZXRlIG1lc3NhZ2UgdGhhdCB3 aWxsIGJlIGNvbXBsZXRlZCBieSBhIGZ1dHVyZSBwYWNrZXQgKG9yIG11bHRpcGxlIGZ1dHVy ZSBwYWNrZXRzKS4NCiAgIDMuIFRoZSByZWNlaXZlciBhdHRlbXB0cyB0byBleHRyYWN0IGEg bWVzc2FnZSBmcm9tIHRoZSBieXRlcyByZWNlaXZlZCBzbyBmYXIuIElmIHRoZSBieXRlcyBk byBub3QgZm9ybSBhIHZhbGlkIG1lc3NhZ2UgYWNjb3JkaW5nIHRvIHRoZSBiaW5kYXQtdW5w YWNrIHNwZWMsIHRoZW4gYXNzdW1lIHRoZSBtZXNzYWdlIHdhcyB0cnVuY2F0ZWQuIFJlbWVt YmVyIHRoZSBieXRlcyByZWNlaXZlZCBzbyBmYXIgYW5kIHdhaXQgZm9yIHRoZSBuZXh0IHBh Y2tldC4NCiAgIDQuIFdoZW4gdGhlIG5leHQgcGFja2V0IGFycml2ZXMsIGNvbmNhdGVuYXRl IGl0cyBieXRlcyB3aXRoIHRoZSByZW1lbWJlcmVkIGJ5dGVzIGFuZCB0cnkgYWdhaW4uDQoN CklmIGJpbmRhdC11bnBhY2sgZGlkIG5vdCBzaWduYWwgYW4gZXJyb3Igd2hlbiBleHBlY3Rp bmcgYSBudWxsIHRlcm1pbmF0b3IsIHRoZW4gdGhlIGFib3ZlIHByb3RvY29sIHdvdWxkIG5v dCB3b3JrIHdpdGhvdXQgZXh0cmEgZWZmb3J0IGJ5IHRoZSB1c2VyLg0KDQpFaXRoZXIgd2F5 LCBjaGFuZ2luZyB0aGUgd2F5IGBiaW5kYXQtdW5wYWNrYCBoYW5kbGVzIGludmFsaWQgc3Ry aW5ncyBmZWVscyBvdXQgb2Ygc2NvcGUgZm9yIHRoaXMgcGFydGljdWxhciBidWcgcmVwb3J0 Lg0K --------------a003EM4AzzpTlGXBTeH9r60P-- --------------iTxEO0PgQustDwet0QF5hWXF Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfoCctB7fyOzE09bW0GvrRa1X4hQFAmKXyt0ACgkQ0GvrRa1X 4hQNmxAAlp6gnvzQK48SM2RxZop7vXAAcb+DB97eJCfRodmUT6I4DtsNlNALN8W2 3xDdnE2KFVwNvsgM1l5yGrwLmUr7cKqrF/RqlehyIGQbZKoors5pW1TfmhKpUl4W +3HB2AW5DtnOKvrDp2+T94LkGB6C3eNvKu+GiiFt42tpktgLl6LwlTHX4GgMY+3Y abM/b2O80z4uUlbuEPkWgpADkfPvZ3S3rqADatSyb5H0+BsBVtMMRIlOUdehu3c3 lBkAC1JObeP4pmR3G66Zk7VOk2WXCrn1W1HeVZ3bP6AbsUizzjGBEryR19zKGqTq iHNgwTYRxL9ZyBFUuYf+yf6uQyomZ7hoRjFl3DvSYBc0pLzOFALfwLFlpeSpYKLP Dl06w32yzpUq/gBY/+R0n0wCAzpRuqe+etYA+A9Fnm+H4Xpn4E7rczygO2kE/4BS YPG8oGE0akcqIyA9JceQQfmwdTxjvo56nueORH5zjnDM7D73ZkzSDEKseGaxQsdX XTTy9XnbzGdm2qkB25DQET4Zik97Vxs4XTFCIRB0MFsPDZdyNWuXvV4P3MgiA2XR K0WUbd/YpvS2lGZPSPdYScR/fP44GVDYEoUt3rkevtIu/A2Dqd5XOYa0E6Vsb4Yl yvyR/eygS0NQaI4MsprovTyuienApRJngiTGtrxjzUpGcbkHY9s= =ugNZ -----END PGP SIGNATURE----- --------------iTxEO0PgQustDwet0QF5hWXF-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 01 16:29:17 2022 Received: (at 55719) by debbugs.gnu.org; 1 Jun 2022 20:29:17 +0000 Received: from localhost ([127.0.0.1]:51989 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwUxx-0007ZD-Ej for submit@debbugs.gnu.org; Wed, 01 Jun 2022 16:29:17 -0400 Received: from spork.scientician.org ([66.228.35.160]:48914) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwUxv-0007Yy-Tq for 55719@debbugs.gnu.org; Wed, 01 Jun 2022 16:29:16 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 8307C4A1AC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-spork; t=1654115355; bh=9lwT5IspCCq9qKtB31yNxiXNXKDfQhIUX2etPRRtNjU=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=foQ06oMTKslrnxRYKih/hKguJVNJOrvnJ0ZMtQPyFQuCyEmpjGfdwQVJL2DdSxmEW LrQKKJ/hRxXp1PZCR+Ttwfp2c6wCE+Th+I18RqI0u13hwM0bjxanrnO5HYtTGizUNY 96n3ohmOoJACN3PWxASn+aow8os1McLlzCptYMF4= X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id A51F9201B8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1654115353; bh=9lwT5IspCCq9qKtB31yNxiXNXKDfQhIUX2etPRRtNjU=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=DawDHJCEROEa+ckEab6gHULkGk9CANEsR0m2jxAittqHXlk2VI8a2AEsoQMLWU+la kRi6RQzFVn3CyjfPaAnQF6XmNFNHKpsJ0NgwvsIVp7MNIGzY4j+sRfddltPjFBdH1k rW0BY2++zmvJzu/4Ukq2KrX6R0xd4P1sjknBZiaQ= Message-ID: <4d484c25-5bea-6bef-0f21-764ec078d3b6@rhansen.org> Date: Wed, 1 Jun 2022 16:29:14 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH] bindat strz fixes Content-Language: en-US From: Richard Hansen To: Stefan Monnier References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 6/1/22 16:23, Richard Hansen wrote: > Anyone that needs the current behavior should be using `str N`, not > `strz N`. If they're using `strz N`, then I would consider that to be > a bug in their code. If this change breaks someone, they can fix it > easily: just change `strz N` to `str N`. I understand that we should > endeavor to maintain compatibility, but keeping the current behavior > would be intentionally preserving a bug to accommodate other bugs. I > don't think that's a good trade-off. Actually I'm wrong; there is a difference between `str N` and `strz N`. With `str N`, all zero bytes in the input string are included in the unpacked value (including trailing null bytes). With `strz N`, the unpacked string ends just before the first zero byte. I'll remove the `strz N` change from the patch series so that we can get the rest merged. From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 01 22:52:39 2022 Received: (at 55719) by debbugs.gnu.org; 2 Jun 2022 02:52:40 +0000 Received: from localhost ([127.0.0.1]:52269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwawx-0003Pn-LC for submit@debbugs.gnu.org; Wed, 01 Jun 2022 22:52:39 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:63927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nwawv-0003PW-J5 for 55719@debbugs.gnu.org; Wed, 01 Jun 2022 22:52:38 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id DCA578108D; Wed, 1 Jun 2022 22:52:31 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 48ACC8049E; Wed, 1 Jun 2022 22:52:30 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1654138350; bh=SETxIdUdt3QFDxkbNe+OD+eclPpMUQryw198QOLPObQ=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=hz45fgh7H80yLKOhWNtG5w+Scuhoa5ox2Q5p9PmAVERycrvaYLDQZlFqHRoOr96zm lJfc6ZnkmF1WuEteLU0smS5cQz6Epr9zkWv5weYZf12rYdPK5WneR6h5nY+iOgJiE5 bK+WEeOkhsxNe4e/gvn9srjIH7uO4RkCi35nm9WhEEAghiDaZ52LpGy120JGt/HaKX 9srhDnCLUBp6Z5hx3pdSk9EnXTmO7DHnWSfoZX+tw700mwAuIGA7NEqR6O3VKsADut Rdby3YDDsOW7m5Pb0RJXKDGdFo6lQFSJQx0hS/LhuY7tIE+jsqfzKI7EGHBfsJwnpg f3ovDZ5itpn/w== Received: from pastel (unknown [45.72.221.51]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 195B5120475; Wed, 1 Jun 2022 22:52:30 -0400 (EDT) From: Stefan Monnier To: Richard Hansen Subject: Re: [PATCH] bindat strz fixes Message-ID: References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> Date: Wed, 01 Jun 2022 22:52:28 -0400 In-Reply-To: (Richard Hansen's message of "Wed, 1 Jun 2022 16:23:57 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.055 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 55719 Cc: 55719@debbugs.gnu.org, emacs-devel@gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > I don't have a concrete need for it at the moment. I just noticed the bug > while I was fixing the other bugs. I can leave that change out of the patch > series if that is the only thing impeding merge. I've installed the rest of the patch series into `master`, thanks. >> The particular reason to prefer the current behavior is >> backward compatibility (which we could call "inertia"). > Anyone that needs the current behavior should be using `str N`, not > `strz N`. `str N` does not give the same semantics when unpacking. > If they're using `strz N`, then I would consider that to be a bug in > their code. It all depends how the format was defined. "NUL-terminated N-bytes-max strings" can be like the one currently supported or like the ones your code supports. Which one is better is irrelevant when the format is not of your choosing. I'm not at all opposed to supporting the kind of NUL-terminated strings you propose but it should be *in addition* to the ones already supported. > If this change breaks someone, they can fix it easily: just > change `strz N` to `str N`. No, because unpacking "a\0" with (str 2) give "a\0" rather than "a". > I understand that we should endeavor to maintain compatibility, but > keeping the current behavior would be intentionally preserving a bug > to accommodate other bugs. I don't think that's a good trade-off. It's only a bug if it doesn't match the format you need to use. Your code introduces a bug when the format is defined to behave like the current code :-( >> Note also that `strz` without a length (or with a nil length) behaves >> the way you want. > No -- strz without a length results in variable length encoding. Without > these changes, the only way to get a fixed length output with guaranteed > null termination is to do `(substring str 0 (1- N))` before packing. (Or > explicitly pack a separate zero byte immediately after the `str N-1` or > `strz N-1` entry.) ...or define a new type. >>>> (bindat-unpack spec "ab") [...] > Regardless of what other applications produce, packed strings like that are > invalid according to the spec provided to `bindat-unpack`. Where in the spec/doc of Bindat do you see that "ab" is not a valid input to `bindat-unpack` for `strz 2`? > A real example of why it might be undesirable to attempt to process > a strz string without a null terminator: You don't need to convince me that the format you propose is useful. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 05 15:30:32 2022 Received: (at 55719-done) by debbugs.gnu.org; 5 Jun 2022 19:30:32 +0000 Received: from localhost ([127.0.0.1]:33538 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nxvxH-0004bf-Vg for submit@debbugs.gnu.org; Sun, 05 Jun 2022 15:30:32 -0400 Received: from spork.scientician.org ([66.228.35.160]:57674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nxvxF-0004bX-ML for 55719-done@debbugs.gnu.org; Sun, 05 Jun 2022 15:30:30 -0400 X-Submitted: to spork.scientician.org (Postfix) with ESMTPSA id 6E49B4A1AC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-spork; t=1654457429; bh=CU91qk8rJEBpjENCNOQAl02B6KunVtbcd7KBaJIsEnE=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=WN93+g0NXifx4rS3h+uV2VmHzPb/xMdyAAL7U5MY1Rk2sXLGBflfR+j9KVnwojjlH DXYGuvCGvqJMc2OpJxG0TDuvkcDGhbf9b0HhXlCXTaq1biCNo6yFRrX3R/KaNn/KJ6 U8U+wMZPRHVH/7pYbXs1SGJRQaMnH6+/4oON9WAU= X-Submitted: to mail.scientician.org (Postfix) with ESMTPSA id 4E2D7201AF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rhansen.org; s=20130902-mail; t=1654457427; bh=CU91qk8rJEBpjENCNOQAl02B6KunVtbcd7KBaJIsEnE=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=kcGy9ZaItRnqcfe2gUTS3FPJu3oyaDvAXVib3BAC+9GrZCoRpr5lyfOpkxPUfc1rK neYGVaDmN3U+jkAys6cE5+Ud3WTolMR1t6IEm/Cs8gf2vVucqOWXBaCS4ugjKppaD+ 9nKRs+DWUVv8nGK/+uYgRB1jgG4+kk+IxaDGgt3A= Message-ID: Date: Sun, 5 Jun 2022 15:30:28 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH] bindat strz fixes Content-Language: en-US To: Stefan Monnier References: <6b1670d3-ae69-7f95-0e7d-d7cee0763c4a@rhansen.org> From: Richard Hansen In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 55719-done Cc: 55719-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 6/1/22 22:52, Stefan Monnier wrote: > I've installed the rest of the patch series into `master`, thanks. Thanks! I'm marking this bug as done. From unknown Fri Jun 20 07:09:40 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 04 Jul 2022 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator