In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/70747554497f9cb03e742ab188049b9d1e784020?hp=1568d13a11564a7d9d62aaf6a79b9b04172a2a45>

- Log -----------------------------------------------------------------
commit 70747554497f9cb03e742ab188049b9d1e784020
Author: Dagfinn Ilmari Mannsåker <[email protected]>
Date:   Wed Nov 8 20:25:56 2017 +0000

    Fix sprintf multiconcat on 32bit big-endian systems with use64bitint
    
    The sprintf offset calculation was assigning to the 'uv' field of the
    aux union, while the code was reading from the 'size' field, which leads
    to all zeroes when sizeof(uv) > sizeof(size_t) on a big-endian system.

-----------------------------------------------------------------------

Summary of changes:
 op.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/op.c b/op.c
index 368f9b146e..15fe1afb0e 100644
--- a/op.c
+++ b/op.c
@@ -3095,14 +3095,14 @@ S_maybe_multiconcat(pTHX_ OP *o)
             if (*p == '%') {
                 p++;
                 if (*p != '%') {
-                    (lenp++)->uv = q - oldq;
+                    (lenp++)->size = q - oldq;
                     oldq = q;
                     continue;
                 }
             }
             *q++ = *p;
         }
-        lenp->uv = q - oldq;
+        lenp->size = q - oldq;
         assert((STRLEN)(q - const_str) == total_len);
 
         /* Attach all the args (i.e. the kids of the sprintf) to o (which

-- 
Perl5 Master Repository

Reply via email to