summaryrefslogtreecommitdiff
path: root/debian/patches/fixes/gid-parsing.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/fixes/gid-parsing.diff')
-rw-r--r--debian/patches/fixes/gid-parsing.diff35
1 files changed, 35 insertions, 0 deletions
diff --git a/debian/patches/fixes/gid-parsing.diff b/debian/patches/fixes/gid-parsing.diff
new file mode 100644
index 0000000..4c0bd46
--- /dev/null
+++ b/debian/patches/fixes/gid-parsing.diff
@@ -0,0 +1,35 @@
+From: Manuel Mausz <manuel@mausz.at>
+Date: Tue, 4 Jun 2019 00:29:09 +0200
+Subject: (perl #134169) mg.c reset endptr after use
+
+Perl_grok_atoUV has been changed so endptr constraints the input. Thus we need to reset the endptr after every use.
+
+Bug: https://rt.perl.org/Public/Bug/Display.html?id=134169
+Bug-Debian: https://bugs.debian.org/941985
+Origin: backport, http://perl5.git.perl.org/perl.git/commitdiff/79e302e6c3f815bf4cb72a5bacc3012595970db9
+---
+ mg.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/mg.c b/mg.c
+index afe452f..910bbd1 100644
+--- a/mg.c
++++ b/mg.c
+@@ -3178,7 +3178,8 @@ 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* p_end = p + len;
++ const char* endptr = p_end;
+ UV uv;
+ #ifdef _SC_NGROUPS_MAX
+ int maxgrp = sysconf(_SC_NGROUPS_MAX);
+@@ -3201,6 +3202,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
+ if (endptr == NULL)
+ break;
+ p = endptr;
++ endptr = p_end;
+ while (isSPACE(*p))
+ ++p;
+ if (!*p)