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