GNU bug report logs - #34310
[PATCH staging] gnu: mrustc: Fix deserialization bug in communication with the procedural macro compiler plugin.

Previous Next

Package: guix-patches;

Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>

Date: Mon, 4 Feb 2019 11:49:02 UTC

Severity: normal

Tags: patch

Done: Danny Milosavljevic <dannym <at> scratchpost.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34310 in the body.
You can then email your comments to 34310 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#34310; Package guix-patches. (Mon, 04 Feb 2019 11:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 04 Feb 2019 11:49:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: guix-patches <at> gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>,
 Chris Marusich <cmmarusich <at> gmail.com>
Subject: [PATCH staging] gnu: mrustc: Fix deserialization bug in communication
 with the procedural macro compiler plugin.
Date: Mon,  4 Feb 2019 12:39:52 +0100
* gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/rust.scm (mrustc)[source]: Use it.

Co-authored-by: Chris Marusich <cmmarusich <at> gmail.com>
---
 gnu/local.mk                                      |  1 +
 ....0-fix-variable-length-integer-receiving.patch | 15 +++++++++++++++
 gnu/packages/rust.scm                             | 12 ++++++++++--
 3 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index f339f32e7..6af0a0407 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1042,6 +1042,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mozjs38-tracelogger.patch		\
   %D%/packages/patches/mozjs38-version-detection.patch		\
   %D%/packages/patches/mrrescue-support-love-11.patch		\
+  %D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch \
   %D%/packages/patches/mumble-1.2.19-abs.patch			\
   %D%/packages/patches/mumps-build-parallelism.patch		\
   %D%/packages/patches/mupen64plus-ui-console-notice.patch	\
diff --git a/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
new file mode 100644
index 000000000..9e76653a0
--- /dev/null
+++ b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
@@ -0,0 +1,15 @@
+https://github.com/thepowersgang/mrustc/issues/109
+From: Danny Milosavljevic <dannym <at> scratchpost.org>
+Date: Fri, 3 Jan 2019 13:00:00 +0100
+
+--- mrustc/src/expand/proc_macro.cpp.orig	2019-02-01 14:16:54.208486062 +0100
++++ mrustc/src/expand/proc_macro.cpp	2019-02-01 14:17:14.350925705 +0100
+@@ -977,7 +977,7 @@
+     for(;;)
+     {
+         auto b = recv_u8();
+-        v |= static_cast<uint64_t>(b) << ofs;
++        v |= static_cast<uint64_t>(b & 0x7F) << ofs;
+         if( (b & 0x80) == 0 )
+             break;
+         ofs += 7;
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 501736d89..e128bb22b 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -105,7 +105,9 @@
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i"))))
+                  "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i"))
+                (patches
+                 (search-patches "mrustc-0.8.0-fix-variable-length-integer-receiving.patch"))))
       (outputs '("out" "cargo"))
       (build-system gnu-build-system)
       (inputs




Information forwarded to guix-patches <at> gnu.org:
bug#34310; Package guix-patches. (Sat, 09 Feb 2019 09:03:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Chris Marusich <cmmarusich <at> gmail.com>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: guix-patches <at> gnu.org
Subject: Re: [PATCH staging] gnu: mrustc: Fix deserialization bug in
 communication with the procedural macro compiler plugin.
Date: Sat, 09 Feb 2019 01:01:56 -0800
[Message part 1 (text/plain, inline)]
Danny Milosavljevic <dannym <at> scratchpost.org> writes:

> * gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch:
> New file.
> * gnu/local.mk (dist_patch_DATA): Add it.
> * gnu/packages/rust.scm (mrustc)[source]: Use it.
>
> Co-authored-by: Chris Marusich <cmmarusich <at> gmail.com>

LGTM!  I can't remember - did you submit this patch upstream, also?

-- 
Chris
[signature.asc (application/pgp-signature, inline)]

Reply sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
You have taken responsibility. (Wed, 13 Feb 2019 12:36:02 GMT) Full text and rfc822 format available.

Notification sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
bug acknowledged by developer. (Wed, 13 Feb 2019 12:36:02 GMT) Full text and rfc822 format available.

Message #13 received at 34310-done <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Chris Marusich <cmmarusich <at> gmail.com>
Cc: 34310-done <at> debbugs.gnu.org
Subject: Re: [PATCH staging] gnu: mrustc: Fix deserialization bug in
 communication with the procedural macro compiler plugin.
Date: Wed, 13 Feb 2019 13:35:02 +0100
[Message part 1 (text/plain, inline)]
Hi Chris,

thanks!  Pushed to staging.

On Sat, 09 Feb 2019 01:01:56 -0800
Chris Marusich <cmmarusich <at> gmail.com> wrote:

>  I can't remember - did you submit this patch upstream, also?

Yes, the incident is https://github.com/thepowersgang/mrustc/issues/109 and the pull request is https://github.com/thepowersgang/mrustc/pull/111 which has been merged to mrustc master.
[Message part 2 (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 14 Mar 2019 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 38 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.