Bug#905679: libparams-classify-perl: XS version causing infinite loop when loaded twice

Benoit Bolsee purak at hurify1.com
Wed Aug 8 00:19:08 BST 2018


Package: libparams-classify-perl
Version: 0.013-6+b1
Severity: important
Tags: patch upstream

The XS version of this package registers an op checker by writing directly into PL_check array
(see libparams-classify-perl-0.013: lib/Params/Classify.xs line 741)
This is not the canonic way of registering a op checker, it should use wrap_op_checker instead.
This bug is only causing problem if the BOOT section is executed twice : on the second
execution, the infinite loop will form when nxck_entersub will point to myck_entersub (as PL_check[OP_ENTERSUB] already points to myck_entersub).

Note: the bug is fixed in version 0.015 (buster).

Here is the suggested patch for version 0.013 :

--- a/lib/Params/Classify.xs	2018-08-03 22:55:45.000000000 +0200
+++ b/lib/Params/Classify.xs	2018-08-03 22:55:45.000000000 +0200
@@ -738,6 +738,5 @@
 			newSVpvn_share(rtypemeta->keyword_pv,
 					strlen(rtypemeta->keyword_pv), 0);
 	}
-	nxck_entersub = PL_check[OP_ENTERSUB];
-	PL_check[OP_ENTERSUB] = myck_entersub;
+	wrap_op_checker(OP_ENTERSUB, myck_entersub, &nxck_entersub);
 }




-- System Information:
Debian Release: 9.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-7-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libparams-classify-perl depends on:
ii  libc6                       2.24-11+deb9u3
ii  perl                        5.24.1-3+deb9u4
ii  perl-base [perlapi-5.24.1]  5.24.1-3+deb9u4

libparams-classify-perl recommends no packages.

Versions of packages libparams-classify-perl suggests:
pn  libscalar-number-perl  <none>

-- no debconf information



More information about the pkg-perl-maintainers mailing list