mirror of
https://git.yoctoproject.org/poky
synced 2026-09-12 06:49:32 +02:00
perl: Move perl-sanity -> perl
This was moved during the perl cleanup, it can/should be moved back now as its confusing too many people. (From OE-Core rev: ce69c21707aa19ab8a3f6c07dc5a560671ab53a4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
49
meta/recipes-devtools/perl/files/fix-setgroup.patch
Normal file
49
meta/recipes-devtools/perl/files/fix-setgroup.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
Test script to reproduce the problem:
|
||||
|
||||
#!/usr/bin/env perl
|
||||
$) = "2 2";
|
||||
print $!;
|
||||
|
||||
Result from perl 5.28 under strace:
|
||||
|
||||
setgroups(1, [2]) = 0
|
||||
setresgid(-1, 2, -1) = 0
|
||||
|
||||
Result from perl 5.30 under strace:
|
||||
|
||||
setgroups(1, [-1]) = -1 EINVAL (Invalid argument)
|
||||
setresgid(-1, 2, -1) = 0
|
||||
|
||||
Patch which broke this upstream:
|
||||
https://perl5.git.perl.org/perl.git/commitdiff/5d4a52b5c68a11bfc97c2e24806993b84a61eade
|
||||
|
||||
Issue is that the new function changes the endptr to the end of the
|
||||
scanned number and needs to be reset to the end of the string for
|
||||
each iteration of the loop.
|
||||
|
||||
[YOCTO #13391]
|
||||
|
||||
RP
|
||||
2019/6/14
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: perl-5.30.0/mg.c
|
||||
===================================================================
|
||||
--- perl-5.30.0.orig/mg.c
|
||||
+++ perl-5.30.0/mg.c
|
||||
@@ -3179,6 +3256,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
|
||||
const char *p = SvPV_const(sv, len);
|
||||
Groups_t *gary = NULL;
|
||||
const char* endptr = p + len;
|
||||
+ const char* realend = p + len;
|
||||
UV uv;
|
||||
#ifdef _SC_NGROUPS_MAX
|
||||
int maxgrp = sysconf(_SC_NGROUPS_MAX);
|
||||
@@ -3209,6 +3287,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
|
||||
Newx(gary, i + 1, Groups_t);
|
||||
else
|
||||
Renew(gary, i + 1, Groups_t);
|
||||
+ endptr = realend;
|
||||
if (grok_atoUV(p, &uv, &endptr))
|
||||
gary[i] = (Groups_t)uv;
|
||||
else {
|
||||
Reference in New Issue
Block a user