summaryrefslogtreecommitdiff
path: root/debian/patches/fixes/gid-parsing.diff
blob: 4c0bd466e20261eff2d18eedded388bf905d0b9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)