summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Mills <38995150+Quipyowert2@users.noreply.github.com>2022-09-18 18:02:50 -0700
committerKarl Williamson <khw@cpan.org>2022-10-05 17:48:46 -0600
commitc0668a30eca028bbf9f3cd0656b06c6b7b265cc5 (patch)
tree155e3c548b9a092ed695bdd598ee1f227167ea8f
parent871702baa1fa0296622b298964fe2ff34f370d98 (diff)
downloadperl-c0668a30eca028bbf9f3cd0656b06c6b7b265cc5.tar.gz
pp_pack: Suppress Cppcheck warning.
Cppcheck warns about assigning the address of a stack variable to a function parameter. This is harmless because symptr->previous is reassigned after the recursive call to (un)pack_rec by the copying of savsym/lookahead to the struct pointed to by symptr. Fixes #20180.
-rw-r--r--pp_pack.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/pp_pack.c b/pp_pack.c
index 4241338d09..4442287ae4 100644
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -939,6 +939,7 @@ S_unpack_rec(pTHX_ tempsym_t* symptr, const char *s, const char *strbeg, const c
const U32 group_modifiers = TYPE_MODIFIERS(datumtype & ~symptr->flags);
symptr->flags |= group_modifiers;
symptr->patend = savsym.grpend;
+ /* cppcheck-suppress autoVariables */
symptr->previous = &savsym;
symptr->level++;
PUTBACK;
@@ -2249,6 +2250,7 @@ S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist )
symptr->flags |= group_modifiers;
symptr->patend = savsym.grpend;
symptr->level++;
+ /* cppcheck-suppress autoVariables */
symptr->previous = &lookahead;
while (len--) {
U32 was_utf8;