Imported Upstream version 2.0210 upstream upstream/2.0210
authorTizenOpenSource <tizenopensrc@samsung.com>
Mon, 20 Jan 2025 08:26:20 +0000 (17:26 +0900)
committerTizenOpenSource <tizenopensrc@samsung.com>
Mon, 20 Jan 2025 08:26:20 +0000 (17:26 +0900)
49 files changed:
Changes
LibXML.pm
LibXML.pod
LibXML.xs
META.json
META.yml
docs/libxml.dbk
lib/XML/LibXML/Attr.pod
lib/XML/LibXML/AttributeHash.pm
lib/XML/LibXML/Boolean.pm
lib/XML/LibXML/CDATASection.pod
lib/XML/LibXML/Comment.pod
lib/XML/LibXML/Common.pm
lib/XML/LibXML/Common.pod
lib/XML/LibXML/DOM.pod
lib/XML/LibXML/Devel.pm
lib/XML/LibXML/Document.pod
lib/XML/LibXML/DocumentFragment.pod
lib/XML/LibXML/Dtd.pod
lib/XML/LibXML/Element.pod
lib/XML/LibXML/ErrNo.pm
lib/XML/LibXML/ErrNo.pod
lib/XML/LibXML/Error.pm
lib/XML/LibXML/Error.pod
lib/XML/LibXML/InputCallback.pod
lib/XML/LibXML/Literal.pm
lib/XML/LibXML/Namespace.pod
lib/XML/LibXML/Node.pod
lib/XML/LibXML/NodeList.pm
lib/XML/LibXML/Number.pm
lib/XML/LibXML/PI.pod
lib/XML/LibXML/Parser.pod
lib/XML/LibXML/Pattern.pod
lib/XML/LibXML/Reader.pm
lib/XML/LibXML/Reader.pod
lib/XML/LibXML/RegExp.pod
lib/XML/LibXML/RelaxNG.pod
lib/XML/LibXML/SAX.pm
lib/XML/LibXML/SAX.pod
lib/XML/LibXML/SAX/Builder.pm
lib/XML/LibXML/SAX/Builder.pod
lib/XML/LibXML/SAX/Generator.pm
lib/XML/LibXML/SAX/Parser.pm
lib/XML/LibXML/Schema.pod
lib/XML/LibXML/Text.pod
lib/XML/LibXML/XPathContext.pm
lib/XML/LibXML/XPathContext.pod
lib/XML/LibXML/XPathExpression.pod
perl-libxml-mm.c

diff --git a/Changes b/Changes
index 8ac00f0d5c7329ad0ac0e4a438b1956cc7487bd2..6b411f2801e440eadadf13311287e94f0f557ac1 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,12 @@
 Revision history for Perl extension XML::LibXML
 
+2.0210  2024-01-24
+    - Fix copying external entity from an ext_ent_handler handler
+        - https://github.com/shlomif/perl-XML-LibXML/issues/81
+        - thanks to Petr
+    - libxml-mm: Fix function prototypes in function pointers
+        - thanks to Khem Raj
+
 2.0209  2023-07-15
     - t/35huge_mode.t: fix test with libxml2 2.11
         - thanks to Dominique Martinet
index 1356cf17a102f801b53287b7d8ddfd5ca5429132..007b9f6e1a8a5ae7bd6b20ff355364648b3b1e27 100644 (file)
--- a/LibXML.pm
+++ b/LibXML.pm
@@ -29,7 +29,7 @@ use XML::LibXML::XPathContext;
 use IO::Handle; # for FH reads called as methods
 
 BEGIN {
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 $ABI_VERSION = 2;
 require Exporter;
 use XSLoader ();
index d06fe37f6befba43a1e75ed8197424bcdc195baf..a7e14fad15162b64873c4dcb6f0f55a184f0702d 100644 (file)
@@ -507,7 +507,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index b5b0b9534cb11b772a83ffb5a044bd56ab9d1749..8709421952453bf6b16fba46129af21025de668a 100644 (file)
--- a/LibXML.xs
+++ b/LibXML.xs
@@ -25,6 +25,7 @@ extern "C" {
 #include "Av_CharPtrPtr.h"  /* XS_*_charPtrPtr() */
 
 #include <fcntl.h>
+#include <limits.h> /* INT_MAX */
 
 #ifndef WIN32
 #include <unistd.h>
@@ -811,6 +812,7 @@ LibXML_load_external_entity(
     int count;
     SV * results;
     STRLEN results_len;
+    int int_results_len;
     const char * results_pv;
     xmlParserInputBufferPtr input_buf;
 
@@ -869,11 +871,18 @@ LibXML_load_external_entity(
         results = POPs;
 
         results_pv = SvPV(results, results_len);
-        input_buf = xmlParserInputBufferCreateMem(
-                        results_pv,
-                        results_len,
-                        XML_CHAR_ENCODING_NONE
-                        );
+        int_results_len = results_len;
+        if ((results_len > INT_MAX) || (int_results_len != results_len)) {
+            croak("a buffer would be too big\n");
+        }
+        input_buf = xmlAllocParserInputBuffer(XML_CHAR_ENCODING_NONE);
+        if (!input_buf) {
+            croak("cannot create a buffer!\n");
+        }
+        if (-1 == xmlParserInputBufferPush(input_buf, int_results_len, results_pv)) {
+            xmlFreeParserInputBuffer(input_buf);
+            croak("cannot push an external entity into a buffer!\n");
+        }
 
         PUTBACK;
         FREETMPS;
index e427687208366ad70b9dca394181208db28c7c85..ea5f5633b415085abf15244479e117f0cf9b19de 100644 (file)
--- a/META.json
+++ b/META.json
@@ -97,6 +97,6 @@
          "web" : "https://github.com/shlomif/perl-XML-LibXML"
       }
    },
-   "version" : "2.0209",
+   "version" : "2.0210",
    "x_serialization_backend" : "JSON::PP version 4.16"
 }
index ed2886c14c430478bead61273e5084f52d7b795e..2ebbe086842af871b39f8d0eaf6de50641781c40 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -69,5 +69,5 @@ requires:
   warnings: '0'
 resources:
   repository: https://github.com/shlomif/perl-XML-LibXML.git
-version: '2.0209'
+version: '2.0210'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
index 371c5c03cb1e7764c3be9fdd61fc2e0af89d51a0..95b7ba32734315db4993503f68a124725385ff73 100644 (file)
@@ -22,7 +22,7 @@
         </authorgroup>
 
 
-        <edition>2.0209</edition>
+        <edition>2.0210</edition>
         <copyright>
             <year>2001-2007</year>
             <holder>AxKit.com Ltd</holder>
index 94bd691e48921056a4710d9cbd59609e9eb40032..aee5debedfcd9b2092a3502356f2decf0383774b 100644 (file)
@@ -121,7 +121,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 87ca8bd523a13fcdf478cd103d3e511702e3c6b0..fc6347a79ce3615fc04ecfee0301323dc78c1d42 100644 (file)
@@ -7,7 +7,7 @@ use Tie::Hash;
 our @ISA = qw/Tie::Hash/;
 
 use vars qw($VERSION);
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 BEGIN
 {
index 7e3da31cdeef175b43ca2eaad08a3e0dec9943ec..5f7510f0b06162c331abaa4f117477021d969e8c 100644 (file)
@@ -16,7 +16,7 @@ use warnings;
 
 use vars qw ($VERSION);
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
         '""' => \&value,
index 996e0254473ea49256c9f00128407fcaf71e2b02..12d6c34eaeb426695d0c91ea2332c2b0891e5f86 100644 (file)
@@ -45,7 +45,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 9ae60a237192ebb7a801da363332af8b7a862e70..1401812bfe9ee0f02b12248117e9257f64e328bf 100644 (file)
@@ -46,7 +46,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index e478972a8790d3a72626b49b878c0bda041a55bd..4ff1ed18de04edbcff39c22ea4606dbecd51ef6d 100644 (file)
@@ -23,7 +23,7 @@ use vars qw( @ISA $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
 @ISA = qw(Exporter);
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use XML::LibXML qw(:libxml);
 
index d17ffab6b26d313e05c486c50149a65dee5c54d7..ede7c5c50140e6744135ab908586f0bf042b957f 100644 (file)
@@ -116,7 +116,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 08fef1ce5da79f9adfabd741480e253cd87b411d..da5b1bdaf89d5631c04c036a99da994d7ec147af 100644 (file)
@@ -129,7 +129,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 7297bedefda63cf32205e4657b62923ee2650d37..e68959e5ce14ca952ea59ba9cd4e6122921f0d83 100644 (file)
@@ -12,7 +12,7 @@ use warnings;
 use XML::LibXML;
 
 use vars qw ($VERSION);
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use 5.008_000;
 
index f433f9be4a5f01fbc1eebf258962c565d2bfa437..6b82e2653056d70f42941c598a97e7c58e6bb6a7 100644 (file)
@@ -686,7 +686,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index b015d052f6ec13bd1af475fa78980e7102fc2f91..ba66377459329dca4d10127e7261bc541fbf646e 100644 (file)
@@ -27,7 +27,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index f82dd8657431fa7a7b1e1f3aa0d830c0b1ce6575..fb5337aa0b8ea0240c76041a332f923a34c31196 100644 (file)
@@ -89,7 +89,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 044bd90b5a43c2942556a5e2a8e9f2516a766451..1cf46dffb7e0cb1020f2614de3033fb80ddf80c7 100644 (file)
@@ -382,7 +382,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 9a8450b079ba713871c5b16f9baf1200071794d3..9872b0b249e4c7668000a1e55e3f0d79eeb7de1f 100644 (file)
@@ -14,7 +14,7 @@ use strict;
 use warnings;
 use vars qw($VERSION);
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use constant ERR_OK                               => 0;
 use constant ERR_INTERNAL_ERROR                   => 1;
index a32ce632218742a2251d03157d11a9be318e7c75..c96be01c9bd1efebd6770c7757585c494dab6dec 100644 (file)
@@ -17,7 +17,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index ebf1641e8c339de0fc76561077a15076a5eda526..0d12ce5acef7dae8ee9593ecb48e84abbf419367 100644 (file)
@@ -28,7 +28,7 @@ use overload
   fallback => 1;
 
 $WARNINGS = 0; # 0: suppress, 1: report via warn, 2: report via die
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use constant XML_ERR_NONE            => 0;
 use constant XML_ERR_WARNING         => 1; # A simple warning
index 4896be8460e1604748338da7deda826994fe0159..024618f3b00acac4ecc0dccb7cf3b6cf51999422 100644 (file)
@@ -244,7 +244,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 79ebdd8438efeb552ac31acc762301219da4b03a..9bb236b6e893edbdb024ae3efbae68af7b355810 100644 (file)
@@ -280,7 +280,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 06b42b5e19da3385123ac80a0eca3a125211ebde..a2e79402d6e251434abc1db3c73ca88eb2380b94 100644 (file)
@@ -16,7 +16,7 @@ use strict;
 use warnings;
 
 use vars qw ($VERSION);
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
                '""' => \&value,
index 26c2200ed6233690b2b4c805f14f390b22c4f64e..c48d8b961e6e0105d1b83eb646d884c5b459f13f 100644 (file)
@@ -141,7 +141,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 74cda2cf638cc6a78e1b18a4749f813d0d0349d3..db6dd28701e58ee13bb9e7ddd5b689d9400cc942 100644 (file)
@@ -768,7 +768,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 8bd58cf0776625500535adeee6b9981e33f08bd6..2854d2caec7960b0d7d607c971c9e4d7400c5da7 100644 (file)
@@ -17,7 +17,7 @@ use XML::LibXML::Literal;
 use XML::LibXML::Number;
 
 use vars qw($VERSION);
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
         '""' => \&to_literal,
index feb3d3926d2806440cfd0013e69e1323d07069cb..3be92ca658214dc1958f34327673e588830f7a3e 100644 (file)
@@ -14,7 +14,7 @@ use strict;
 use warnings;
 
 use vars qw ($VERSION);
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
         '""' => \&value,
index 22502c7f3bb0b3e2e77177944cc9d60801425444..e0d6b937a4f758da244f57fcd2c55acd4c0fced2 100644 (file)
@@ -74,7 +74,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index c46cd115e619021da279044a1349144a59770195..230d6ca994f900e6f7f954405609ad77cea5cc10 100644 (file)
@@ -988,7 +988,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 431709856958f72d9e62650cb195ff0cbedf2675..d51ce6b3a1514aafda53de4bee6d5944e9c0cc48 100644 (file)
@@ -94,7 +94,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 875273706310ee275b62edea8c252cdd1ce2c8f3..b5d2fb568df1108c4e0ea511a389d0ed2b5b780f 100644 (file)
@@ -14,7 +14,7 @@ use strict;
 use warnings;
 
 use vars qw ($VERSION);
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use 5.008_000;
 
index 234787a1d7b24e2cdbdd8c3c81ce5eaeaefbdcbf..7d2e70705dadd21e56ac48979c5dbc390fbfba2e 100644 (file)
@@ -657,7 +657,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 817aaeb3373c171399e368fdbce8a53619361c63..4d6ae2ae82f5036ff2e8d5256d6f3cbaa4e62ba6 100644 (file)
@@ -58,7 +58,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index dbeccd422aa0a65579c03b02fe9de805dfe547ea..251f6f6e94b20761021c677ff0ac1715c489e8bd 100644 (file)
@@ -73,7 +73,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index deff54d989822794c8080f58e69d8de58369af7f..2d70087a9b583a798e4b8405ae1db27c1beafea2 100644 (file)
@@ -14,7 +14,7 @@ use warnings;
 
 use vars qw($VERSION @ISA);
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use XML::LibXML;
 use XML::SAX::Base;
index cff0763b0019c7ac77d3eb56f41cba7c363fa90a..47d2deaa65220b875b2cbd7fb96dee8dc60995f5 100644 (file)
@@ -47,7 +47,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index f7709ebb94cc2f6c842beb082954b42b8b3ec445..cd21dc1b1e2c96c702efd20207cb3f6577bab834 100644 (file)
@@ -21,7 +21,7 @@ sub CLONE_SKIP {
   return $XML::LibXML::__threads_shared ? 0 : 1;
 }
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 sub new {
     my $class = shift;
index c35e493145b24354541db16bcb9993f679e4e9af..3682d599e56ff3f8b77a0902b7f2352fba1f169e 100644 (file)
@@ -38,7 +38,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 0680516b9b04d2d8672957580564447f236aebc4..dcc0cd1466bb3257f6e2d35f223745a060195d57 100644 (file)
@@ -15,7 +15,7 @@ use warnings;
 use XML::LibXML;
 use vars qw ($VERSION);
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 sub CLONE_SKIP {
   return $XML::LibXML::__threads_shared ? 0 : 1;
index d4c4abc2cf63fd6177056ef3fddad1438a93259f..0f8a8929e3d54d8e2e68d87fad4293816cdb9f3c 100644 (file)
@@ -18,7 +18,7 @@ use XML::LibXML::Common qw(:libxml);
 use XML::SAX::Base;
 use XML::SAX::DocumentLocator;
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 @ISA = ('XML::SAX::Base');
 
 sub CLONE_SKIP {
index 020552f80e2457ce4d0384833f4ebd3f0d09dfb9..6a266b729831147683a6b2f898a2c6fe77348bad 100644 (file)
@@ -69,7 +69,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 53099dacaf56c4f3a6a961149fc6d1254416af74..f92c55eae206e6ef993990d5bb7bb929af6eb695 100644 (file)
@@ -170,7 +170,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 7085cfa25ea64dbc428b2581e37fc150b8aa8474..fbd4c73830dfd4321c328c026cd55d2905b7c22d 100644 (file)
@@ -17,7 +17,7 @@ use Carp;
 use XML::LibXML;
 use XML::LibXML::NodeList;
 
-$VERSION = "2.0209"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0210"; # VERSION TEMPLATE: DO NOT CHANGE
 
 # should LibXML XPath data types be used for simple objects
 # when passing parameters to extension functions (default: no)
index 10e84b425df7e391405f10443a6add16fbd27eb4..2f45124c1595e77fcfcfc05ad52c48a6e28e56de 100644 (file)
@@ -362,7 +362,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index 3cd91ede4b8add0785f3734e40934cc56cd71392..5a4c762c2037a6c4d50c4cc8a784ebee58620bc6 100644 (file)
@@ -52,7 +52,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0209
+2.0210
 
 =head1 COPYRIGHT
 
index a3e78a25d457639eef4d316eee6efb17afecd0c6..ec2b5eaa827f0d5770d87dff439f6793919fab78 100644 (file)
@@ -121,7 +121,7 @@ PmmFreeHashTable(xmlHashTablePtr table)
 extern SV* PROXY_NODE_REGISTRY_MUTEX;
 
 /* Utility method used by PmmDumpRegistry */
-void PmmRegistryDumpHashScanner(void * payload, void * data, xmlChar * name)
+void PmmRegistryDumpHashScanner(void * payload, void * data, const xmlChar * name)
 {
        LocalProxyNodePtr lp = (LocalProxyNodePtr) payload;
        ProxyNodePtr node = (ProxyNodePtr) lp->proxy;
@@ -215,7 +215,7 @@ PmmRegisterProxyNode(ProxyNodePtr proxy)
 /* PP: originally this was static inline void, but on AIX the compiler
    did not chew it, so I'm removing the inline */
 static void
-PmmRegistryHashDeallocator(void *payload, xmlChar *name)
+PmmRegistryHashDeallocator(void *payload, const xmlChar *name)
 {
        Safefree((LocalProxyNodePtr) payload);
 }
@@ -279,7 +279,7 @@ PmmRegistryREFCNT_dec(ProxyNodePtr proxy)
  * internal, used by PmmCloneProxyNodes
  */
 void *
-PmmRegistryHashCopier(void *payload, xmlChar *name)
+PmmRegistryHashCopier(void *payload, const xmlChar *name)
 {
        ProxyNodePtr proxy = ((LocalProxyNodePtr) payload)->proxy;
        LocalProxyNodePtr lp;