pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/textproc/p5-XML-Parser
Module Name: pkgsrc
Committed By: wiz
Date: Sun Apr 26 04:41:21 UTC 2026
Modified Files:
pkgsrc/textproc/p5-XML-Parser: Makefile distinfo
Log Message:
p5-XML-Parser: update to 2.58.
2.58 2026-04-23 (by Todd Rinaldo)
Fixes:
- PR #260 Prevent element-name SV leak when Start or End handlers
die: wrap the call_sv in ENTER/SAVEFREESV/LEAVE so an exception
thrown from a handler no longer leaks one SV per call. Audited
all 19 XS callbacks — startElement and endElement were the only
ones with non-mortal SVs across a call_sv boundary
- PR #259 Add NULL check for GvIOp in XML_Do_External_Parse to
prevent a segfault when an ExternEnt handler returns an
unopened filehandle. GvIOp returns NULL for a glob that has
never been opened; both call sites previously passed the NULL
straight to newRV_inc
- PR #258 Release the parser when an Init or Final handler dies.
The release() call used to be skipped on exception, leaving a
circular reference through self_sv so DESTROY never ran and the
parser leaked permanently
- PR #257 Free doctype_sysid during normal parser teardown and
NULL self_sv after release. Every parse of a document with a
<!DOCTYPE ... SYSTEM "..."> declaration previously leaked the
system-id string on the non-error path (free_cbv already freed
it on the error path)
- PR #255 Use bare return instead of "return undef" in
ContentModel::children() and expand_ns_prefix(). "return undef"
in list context produces (undef) — a one-element list — which
silently broke callers checking @result for emptiness
- PR #246 Use three-argument open in file_ext_ent_handler so that
pipe characters and IO-mode prefixes in external-entity SYSTEM
identifiers can never be interpreted by Perl's two-argument
open. The existing regex check is now defense-in-depth rather
than the sole protection
- PR #242 Add NULL-after-allocation checks with cascading cleanup
to the three New() calls in LoadEncoding, consistent with the
pattern established for XML_ParserCreate_MM in PR #204
Improvements:
- PR #267 Address CPANTS Kwalitee issues: add =head1 LICENSE to
Parser.pm, add use warnings to Expat.pm, add provides to
META_MERGE (using MM->parse_version() to avoid hardcoding), and
add SECURITY.md and CONTRIBUTING.md
- PR #265 Fix Doctype handler Internal parameter documentation in
Parser.pm — the XS code pushes PL_sv_yes/PL_sv_no (a boolean
indicating whether an internal subset exists), not the subset
string the POD claimed. Also correct the DoctypeFin parameter
label from (Parser) to (Expat) and a minor Expat.pm POD typo
- PR #264 Add use strict and use warnings to Makefile.PL and
Expat/Makefile.PL, and convert $expat_libpath / $expat_incpath
from bare globals to lexicals
- PR #262 Modernize META resources to CPAN Meta spec v2 —
structured bugtracker and repository entries so MetaCPAN and
CPAN tooling can extract richer information (separate git URL,
web URL, and tracker type)
- PR #256 Add use warnings to Parser.pm and all five Style
modules. Expat.pm is intentionally excluded and already
documents why (it uses int() on strings in namespace methods)
- PR #254 Improve const-correctness in Expat.xs: propagate
const char * through newUTF8SVpv, newUTF8SVpvn, and
append_error, and drop 30+ now-unnecessary (char *) casts. No
functional change — identical generated code
- PR #251 Add a Codecov coverage badge to README.md alongside the
existing CI badge
- PR #250 Document the Codecov coverage integration in CLAUDE.md,
including the two flags (perl via Devel::Cover, xs via
gcov/lcov) and a link to the dashboard
- PR #247 Add a Devel::Cover code-coverage CI job that measures
both Perl and XS/C coverage (via gcc --coverage + lcov) and
uploads to Codecov with separate perl/xs flags
- PR #241 Add a SECURITY section to Parser.pm POD documenting the
BillionLaughsAttackProtection*, AllocTracker*, and
ReparseDeferralEnabled options, with cross-references from the
new() option list
Maintenance:
- PR #266 Add 22 tests in t/expat_guards.t covering Expat.pm
input validation (setHandlers type/arity checks), parse-state
guards, and reference-exception preservation
- PR #263 Upgrade cross-platform-actions from v0.32 to v1 in the
BSD (FreeBSD, OpenBSD, NetBSD) CI jobs
- PR #261 Add 4 missing test files to MANIFEST via make manifest
and extend MANIFEST.SKIP with standard exclusions for build
artifacts (blib/, *.o, *.so, *.bs, *.c, cover_db/, .DS_Store,
Makefile.old) so future regenerations stay clean
- PR #253 Add missing use strict and use warnings to 9 test files
so the whole suite is consistent, and fix an undeclared
$parser in t/file.t surfaced by the new strictures
- PR #252 Upgrade actions/checkout from v4 to v6 in the release
workflow (the testsuite workflow was already upgraded)
- PR #249 Add t/expat_xs_coverage.t with 26 tests targeting
previously-uncovered paths in Expat.xs (93% → 95% line
coverage), focused on skip_until suspend/resume, namespace
cleanup in finish(), and external-entity edge cases
- PR #248 Add t/coverage_gaps.t with 31 tests for previously
uncovered Perl code paths identified via Devel::Cover — Debug
and Stream style Proc/PI handlers, Expat direct parse methods,
ContentModel MIXED asString, and security-API argument
validation. Subroutine coverage reaches 100% across all modules
- PR #245 Add 16 targeted Stream_Delimiter boundary tests that
exercise the XS parse_stream delimiter detection logic directly
with small controlled documents (t/stream.t only exercised it
against one large sample file)
- PR #244 Add t/parser_api.t covering the XML::Parser API
surface: setHandlers return and croak semantics, parsefile Base
save/restore (including on error), parser reuse, parse return
values in scalar and list context, Init handler invocation,
and Pkg defaulting
To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 pkgsrc/textproc/p5-XML-Parser/Makefile
cvs rdiff -u -r1.23 -r1.24 pkgsrc/textproc/p5-XML-Parser/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/textproc/p5-XML-Parser/Makefile
diff -u pkgsrc/textproc/p5-XML-Parser/Makefile:1.65 pkgsrc/textproc/p5-XML-Parser/Makefile:1.66
--- pkgsrc/textproc/p5-XML-Parser/Makefile:1.65 Sun Apr 12 05:39:12 2026
+++ pkgsrc/textproc/p5-XML-Parser/Makefile Sun Apr 26 04:41:20 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.65 2026/04/12 05:39:12 wiz Exp $
+# $NetBSD: Makefile,v 1.66 2026/04/26 04:41:20 wiz Exp $
-DISTNAME= XML-Parser-2.57
+DISTNAME= XML-Parser-2.58
PKGNAME= p5-${DISTNAME}
CATEGORIES= textproc perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=../../authors/id/T/TO/TODDR/}
Index: pkgsrc/textproc/p5-XML-Parser/distinfo
diff -u pkgsrc/textproc/p5-XML-Parser/distinfo:1.23 pkgsrc/textproc/p5-XML-Parser/distinfo:1.24
--- pkgsrc/textproc/p5-XML-Parser/distinfo:1.23 Sun Apr 12 05:39:12 2026
+++ pkgsrc/textproc/p5-XML-Parser/distinfo Sun Apr 26 04:41:20 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.23 2026/04/12 05:39:12 wiz Exp $
+$NetBSD: distinfo,v 1.24 2026/04/26 04:41:20 wiz Exp $
-BLAKE2s (XML-Parser-2.57.tar.gz) = 317c7a5459dea6c62e05e9c31e5348133c6137957dc51d7afe404bc39f8fa0f6
-SHA512 (XML-Parser-2.57.tar.gz) = 21e2d9ff12ce5dea31d386ee15f14dac91d8697183284b581b6a2c674cb586a8aa04f6480b9e22d497c4db84a691cf133cbbc0e87fe20a7c3d305de2b56bb5a5
-Size (XML-Parser-2.57.tar.gz) = 452146 bytes
+BLAKE2s (XML-Parser-2.58.tar.gz) = f0aa6b08941df536b3e05979de9d36d6bdd358c88c561f3644c4131d7cc8b7b6
+SHA512 (XML-Parser-2.58.tar.gz) = f62b0b1eb131194c40118b609545cc1870252655ebf144c95487469e4b69ac4f3127bca54a06014d8676cb996673a854d87144b63b15f362f909bb8fb18fb69c
+Size (XML-Parser-2.58.tar.gz) = 472296 bytes
Home |
Main Index |
Thread Index |
Old Index