History log of /external/libxml2/dict.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bb654feb9a64db7fd8b5fefdbb79792883dc7795 13-Apr-2016 Jan Pokorný <jpokorny@redhat.com> Fix typos: dictio{ nn -> n }ar{y,ies}

Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
/external/libxml2/dict.c
6360a31a84efe69d155ed96306b9a931a40beab9 20-Nov-2015 David Drysdale <drysdale@google.com> CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey

For https://bugzilla.gnome.org/show_bug.cgi?id=756528
It was possible to hit a negative offset in the name indexing
used to randomize the dictionary key generation
Reported and fix provided by David Drysdale @ Google
/external/libxml2/dict.c
5fe9e9ed1ccf217e11bd3cb99b1c6bb10cc96ba3 05-Apr-2013 Daniel Veillard <veillard@redhat.com> Remove risk of lockup in dictionary initialization

Reported by Petr Sumbera <petr.sumbera@oracle.com>
Two threads entering xmlInitializeDict concurently could lead
to a lockup due to multiple initializations of the lock used.
To avoid this problem move this to a new private function
called from xmlOnceInit() and deprecate the old initalizer.
Since threaded programs must call xmlInitParser() and this
will lead to dereference of private data and the call to
xmlOnceInit() guaranteed to be unique this should be safe now.
/external/libxml2/dict.c
e7715a5963afebfb027120db6914926ec9a7373d 14-Sep-2012 Wouter Van Rooy <rooywo@vasco.com> rand_seed should be static in dict.c

For https://bugzilla.gnome.org/show_bug.cgi?id=683933
rand_seed should be a static variable in dict.c

We ran into a problem with another library that exports rand_seed as a
function. Combined with 2.7.8 this was not a problem but later versions
have this problem.
/external/libxml2/dict.c
fd4f6fddf5020f2f7a8ea4459a9b2feef7494fe4 13-Aug-2012 Patrick Gansterer <paroga@paroga.com> Fix non __GNUC__ build

For https://bugzilla.gnome.org/show_bug.cgi?id=681590
Length member of _xmlDictEntry is called "len" and not "l"
/external/libxml2/dict.c
7c693dad23e7410f1837213ed0eb18be295992df 25-Jul-2012 Daniel Veillard <veillard@redhat.com> Cleanups and new limit APIs for dictionaries

* include/libxml/dict.h dict.c: adding 2 new functions xmlDictGetUsage
and xmlDictSetLimit allowing to review the amount of memory allocated
for dictionary strings. Aslo cleanup of various signed int used as
size values in the code.
/external/libxml2/dict.c
ee8f1d4cda8dc1a6f2c515fe234f7bc89cdc9f80 21-May-2012 Daniel Veillard <veillard@redhat.com> Cleanups before 2.8.0-rc2

new symbols, a missing comment and a fix on symbol release
/external/libxml2/dict.c
379ebc1d774865fa92f2a8d80cc4da65cbe19998 18-May-2012 Daniel Veillard <veillard@redhat.com> Cleanup on randomization

tsan reported that rand() is not thread safe, so create
a thread safe wrapper, use rand_r() if available.
Consolidate the function, initialization and cleanup in
dict.c and make sure it is initialized in xmlInitParser()
/external/libxml2/dict.c
aa0be5f2690ae0c6d9eb31ca9248faa0d7860f45 09-May-2012 Rob Richards <rrichards@cdatazone.org> fix windows build.
ifdef addition from bug 666491 makes no sense
/external/libxml2/dict.c
066c69777207436e3517d1b930a97f0e0a8aa060 09-May-2012 Thomas Lemm <thomas.lemm@gmx.de> Allow to compile with Visual Studio 2010

For https://bugzilla.gnome.org/show_bug.cgi?id=666491

This patch adds project files to compile and debug libxml2 using Visual
Studio 2010. Only few minor changes have been made to the actual source
code.

This patch also requires for the iconv package to be compiled with visual
studio 2010 which has been submitted to the iconv project (see:
https://savannah.gnu.org/bugs/?35088)
/external/libxml2/dict.c
8973d58b7498fa5100a876815476b81fd1a2412a 04-Feb-2012 Daniel Veillard <veillard@redhat.com> Add hash randomization to hash and dict structures

Following http://www.ocert.org/advisories/ocert-2011-003.html
it seems that having hash randomization might be a good idea
when using XML with untrusted data
* configure.in: lookup for rand, srand and time
* dict.c: add randomization to dictionaries hash tables
* hash.c: add randomization to normal hash tables
/external/libxml2/dict.c
594e5dfb48ee6fbac1b64155839063648022fc57 07-Sep-2009 Daniel Veillard <veillard@redhat.com> Chasing dead assignments reported by clang-scan

* SAX2.c dict.c error.c hash.c nanohttp.c parser.c python/libxml.c
relaxng.c runtest.c tree.c valid.c xinclude.c xmlregexp.c xmlsave.c
xmlschemas.c xpath.c xpointer.c: mostly removing unneded affectations,
but this led to a few real bugs and some part not yet understood
(relaxng/interleave)
/external/libxml2/dict.c
7f4547cdbd76a2931553759fb433df88b8b99452 03-Oct-2008 Daniel Veillard <veillard@src.gnome.org> preparing the release of 2.7.2 fix the Solaris portability issue

* configure.in doc/* NEWS: preparing the release of 2.7.2
* dict.c: fix the Solaris portability issue
* parser.c: additional cleanup on #554660 fix
* test/ent13 result/ent13* result/noent/ent13*: added the
example in the regression test suite.
* HTMLparser.c: handle leading BOM in htmlParseElement()
Daniel

svn path=/trunk/; revision=3799
/external/libxml2/dict.c
117baa074d9d4e883f9aaceca3f90d3ce6e17b26 10-Aug-2008 Rob Richards <rrichard@src.gnome.org> fix non GNUC builds.

* dict.c: fix non GNUC builds.

svn path=/trunk/; revision=3771
/external/libxml2/dict.c
d68f8912c46a01f6c200e1414d290947b7db630e 08-Aug-2008 Daniel Veillard <veillard@src.gnome.org> added a program to regression test the dictionary code improve the lookup

* testdict.c: added a program to regression test the dictionary code
* dict.c: improve the lookup efficiency by caching the key.
Daniel

svn path=/trunk/; revision=3768
/external/libxml2/dict.c
ffda65f0e6447eba3807d04bf670243702da026b 07-Aug-2008 Daniel Veillard <veillard@src.gnome.org> chased and found a couple of nasty issues Daniel

* dict.c: chased and found a couple of nasty issues
Daniel

svn path=/trunk/; revision=3767
/external/libxml2/dict.c
424785e793a77c1f35898aeb31fc7cd64ba57334 06-Aug-2008 Daniel Veillard <veillard@src.gnome.org> change the big key algorithm to work properly with QName too, fix a bug

* dict.c: change the big key algorithm to work properly with QName
too, fix a bug with dict size and sub dictionaries
Daniel

svn path=/trunk/; revision=3764
/external/libxml2/dict.c
b6b2ee1a409bcb60be01dd74867a460eeec450e7 03-May-2008 Rob Richards <rrichard@src.gnome.org> check for stdint.h and define types when using MSVC

* dict.c: check for stdint.h and define types when using MSVC

svn path=/trunk/; revision=3742
/external/libxml2/dict.c
e9100a589d9dc97a09b2295db18657ce31adee65 22-Apr-2008 Daniel Veillard <veillard@src.gnome.org> improvement on the hashing of the dictionnary, with visible speed up as

* dict.c: improvement on the hashing of the dictionnary, with visible
speed up as the number of strings in the hash increases, work from
Stefan Behnel
Daniel

svn path=/trunk/; revision=3739
/external/libxml2/dict.c
b242b08831637432984439729a170153bdc3ed8d 08-Feb-2008 Daniel Veillard <veillard@src.gnome.org> applied patch from Florent Guilian to remove an useless mutex in the

* dict.c: applied patch from Florent Guilian to remove an
useless mutex in the xmlDict structure.

older, not commited ...

* SAX2.c: another leak reported by Ashwin
* xinclude.c: fixed the behaviour when XIncluding a fragment
of the current document, patch from Chris Ryan

Daniel


svn path=/trunk/; revision=3686
/external/libxml2/dict.c
5d4644ef6e38479a648615eca758c5e962a141d5 01-Apr-2005 Daniel Veillard <veillard@src.gnome.org> revamped the elfgcchack.h format to cope with gcc4 change of aliasing

* doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h
format to cope with gcc4 change of aliasing allowed scopes, had
to add extra informations to doc/libxml2-api.xml to separate
the header from the c module source.
* *.c: updated all c library files to add a #define bottom_xxx
and reimport elfgcchack.h thereafter, and a bit of cleanups.
* doc//* testapi.c: regenerated when rebuilding the API
Daniel
/external/libxml2/dict.c
4e1c2db89ed0f49567682e1498ce19bd2bfa7e4f 11-Feb-2005 William M. Brack <wbrack@src.gnome.org> fixed compilation warning changed xmlWarningMsg so ctxt->errNo is not set

* dict.c: fixed compilation warning
* parser.c: changed xmlWarningMsg so ctxt->errNo is not set
* xmllint.c: changed to return non-zero status if error
on xinclude processing
* xmlsave.c: minor deletion of a redundant condition statement
/external/libxml2/dict.c
2ae13382c389912f89d0df8ab4fcce376db6ae82 26-Jan-2005 Daniel Veillard <veillard@src.gnome.org> fixing the way testapi.c is generated, fixes bug #161386 fix a comment

* Makefile.am testapi.c doc/Makefile.am: fixing the way testapi.c
is generated, fixes bug #161386
* dict.c: fix a comment typo
* elfgcchack.h doc/*: regenerated
Daniel
/external/libxml2/dict.c
1441251f851f011cd34edaff9095374d5e6f7b14 22-Jan-2005 Daniel Veillard <veillard@src.gnome.org> a single lock version mostly avoid the cost penalty of the lock in case of

* dict.c parser.c include/libxml/dict.h: a single lock version
mostly avoid the cost penalty of the lock in case of low
parallelism, so applying that version instead.
Daniel
/external/libxml2/dict.c
1bb16a188852d9cdca9ac99ee41c2ccc84cf0fd0 21-Jan-2005 Daniel Veillard <veillard@src.gnome.org> patch from Gary Coady to fix a race in dict reference counting in

* dict.c: patch from Gary Coady to fix a race in dict reference
counting in multithreaded apps.
Daniel
/external/libxml2/dict.c
ad0e67c57f26f691fc120d5c5336cee9885cf324 01-Dec-2004 William M. Brack <wbrack@src.gnome.org> fixed up some gcc warnings, no change to logic. New macro XML_CAST_FPTR to

* dict.c, xpath.c, include/libxml/hash.h: fixed up some gcc warnings,
no change to logic. New macro XML_CAST_FPTR to circumvent gcc
warnings on function pointer <-> object pointer (a hack).
/external/libxml2/dict.c
6bb3e86d2c0421d4b3b078ee27cd949865a0cb3f 24-Nov-2004 Daniel Veillard <veillard@src.gnome.org> added xmlDictExists() to the dictionnary interface. applying

* dict.c include/libxml/dict.h: added xmlDictExists() to the
dictionnary interface.
* xmlreader.c: applying xmlTextReaderHasAttributes fix for namespaces
from Rob Richards
Daniel
/external/libxml2/dict.c
bf5cf2196c619c6ec2fec5fdf31cd6b040df508d 31-Aug-2004 William M. Brack <wbrack@src.gnome.org> fixed bug introduced during OOM fixup causing problems with default

* SAX2.c: fixed bug introduced during OOM fixup causing problems
with default namespace when a named prefix with the same href
was present (reported on the mailing list by Karl Eichwalder.
* xmlstring.c: modified xmlCheckUTF8 with suggested code from
Julius Mittenzwei.
* dict.c: added a typecast to try to avoid problem reported by
Pascal Rodes.
/external/libxml2/dict.c
4773df2a58be83e1b9b1b55840371acf37386820 23-Jan-2004 Daniel Veillard <veillard@src.gnome.org> added io1.c an example ox xmlIO usage and io1.res test result, fixed a

* doc/examples/*: added io1.c an example ox xmlIO usage and io1.res
test result, fixed a awful lot of memory leaks showing up in
testWriter.c, changed the examples and the Makefiles to test
memory leaks.
* xmlwriter.c: fixed a memory leak
* Makefile.am: run the doc/examples regression tests as part of
make tests
* xpath.c include/libxml/xpath.h: added xmlXPathCtxtCompile() to
compile an XPath expression within a context, currently the goal
is to be able to reuse the XSLT stylesheet dictionnary, but this
opens the door to others possible optimizations.
* dict.c include/libxml/dict.h: added xmlDictCreateSub() which allows
to build a new dictionnary based on another read-only dictionnary.
This is needed for XSLT to keep the stylesheet dictionnary read-only
while being able to reuse the strings for the transformation
dictionnary.
* xinclude.c: fixed a dictionnar reference counting problem occuring
when document parsing failed.
* testSAX.c: adding option --repeat for timing 100times the parsing
* doc/* : rebuilt all the docs
Daniel
/external/libxml2/dict.c
c82c57e69cedae457ecbfe8028bd9ed2c65b2f46 12-Jan-2004 Daniel Veillard <veillard@src.gnome.org> some parser optimizations, xmllint --memory --timing --repeat --stream

* dict.c parser.c xmlstring.c: some parser optimizations,
xmllint --memory --timing --repeat --stream ./db10000.xml
went down from 16.5 secs to 15.5 secs.
Daniel
/external/libxml2/dict.c
e96a2a4bf040ec93f83d9c33f8ae4ac3f1e512e9 24-Sep-2003 Daniel Veillard <veillard@src.gnome.org> adding repeated parsing and validating tests make the new DOM tree

* Makefile.am: adding repeated parsing and validating tests
* SAX2.c parser.c tree.c include/libxml/parser.h: make the new
DOM tree building interfaces use the dictionary from the
parsing context to build the element and attributes names
as well as formatting spaces and short text nodes
* include/libxml/dict.h dict.c: added some reference counting
for xmlDictPtr because they can be shared by documents and
a parser context.
* xmlreader.c: a bit of cleanup, remove the specific tree freeing
functions and use the standard ones now.
* xmllint.c: add --nodict
* python/libxml.c: fix a stupid bug so that ns() works on
attribute nodes.
Daniel
/external/libxml2/dict.c
e72c508cd0c7a829602906f54fa8a29abaf3afa6 19-Sep-2003 Daniel Veillard <veillard@src.gnome.org> preparing a 2.6.0-beta2 release avoid a warning avoid duplicate code in

* configure.in: preparing a 2.6.0-beta2 release
* xmlIO.c: avoid a warning
* tree.c: avoid duplicate code in xmlReplaceNode as pointed out
by Chris Ryland
* include/libxml/dict.h: add a QName access lookup to the
dictionary.
* xmlreader.c include/libxml/xmlreader.h: adding const access
based on the dictionary interface for string read from the
reader, the node content access is still TODO, it's too different
Daniel
/external/libxml2/dict.c
c44cfdd7c16cd44f1508258a5b9917bcde05a458 18-Sep-2003 Daniel Veillard <veillard@src.gnome.org> the last patch broke unicity of returned strings, removed Daniel

* dict.c: the last patch broke unicity of returned strings, removed
Daniel
/external/libxml2/dict.c
536fad5aad1b45ba8650f6d6dddc0848d23766d8 18-Sep-2003 Daniel Veillard <veillard@src.gnome.org> valgrind found a newly introduced bug Daniel

* dict.c: valgrind found a newly introduced bug
Daniel
/external/libxml2/dict.c
ccc4d2b62ef2ae474b68168135cfbff47c499727 17-Sep-2003 Daniel Veillard <veillard@src.gnome.org> two small improvements Daniel

* dict.c xmlreader.c: two small improvements
Daniel
/external/libxml2/dict.c
81514ba47868793ad27ed344294f48d6a2d3ced9 17-Sep-2003 Daniel Veillard <veillard@src.gnome.org> do string allocations in large pools, allowing to find if a string pertain

* dict.c include/libxml/dict.h: do string allocations in large
pools, allowing to find if a string pertain to a dict quickly
* xmllint.c: fix --stream --repeat --timing
* Makefile.am: the testThreads run output should be seen.
Daniel
/external/libxml2/dict.c
07cb8226c097ce3d8db934a07025c62803ad1f64 10-Sep-2003 Daniel Veillard <veillard@src.gnome.org> Time to commit 3 days of work rewriting the parser internal,
fixing bugs and migrating to SAX2 interface by default. There
is some work letf TODO, like namespace validation and attributes
normalization (this break C14N right now)
* Makefile.am: fixed the test rules
* include/libxml/SAX2.h include/libxml/parser.h
include/libxml/parserInternals.h SAX2.c parser.c
parserInternals.c: changing the parser, migrating to SAX2,
adding new interface to switch back to SAX1 or initialize a
SAX block for v1 or v2. Most of the namespace work is done
below SAX, as well as attribute defaulting
* globals.c: changed initialization of the default SAX handlers
* hash.c tree.c include/libxml/hash.h: added QName specific handling
* xmlIO.c: small fix
* xmllint.c testSAX.c: provide a --sax1 switch to test the old
version code path
* result/p3p result/p3p.sax result/noent/p3p test/p3p: the new code
pointed out a typo in a very old test namespace
Daniel
/external/libxml2/dict.c
0fb1893539b38ff9f4c6e19d5a367b8c7d5c7eae 07-Sep-2003 Daniel Veillard <veillard@src.gnome.org> allow to give -1 for undefined length in lookups first round of work on

* dict.c: allow to give -1 for undefined length in lookups
* include/libxml/parser.h parser.c parserInternals.c testSAX.c:
first round of work on the new SAX2 interfaces, the API
will change but commiting before changing for historical
reference.
Daniel
/external/libxml2/dict.c
1af9a41f24deb04ababc4075de0005bd75f320f6 21-Aug-2003 Daniel Veillard <veillard@src.gnome.org> Adding new version of the SAX interface, it's not there yet, currently

* Makefile.am SAX2.c include/libxml/Makefile.am include/libxml/SAX2.h:
Adding new version of the SAX interface, it's not there yet,
currently just preparing the work
* globals.c parser.c SAX.c include/libxml/SAX.h
include/libxml/globals.h include/libxml/parser.h: doing some
refactoring of the SAXv1 interfaces, obsoleting a bunch of them
while keeping functionalities, preparing SAX2 integration.
* dict.c: small cleanup.
Daniel
/external/libxml2/dict.c
6155d8aafa3cc60b5fdaaf75b423e489ea8280c4 19-Aug-2003 Daniel Veillard <veillard@src.gnome.org> optimization when freeing hash tables. some tuning of buffer allocations

* dict.c hash.c: optimization when freeing hash tables.
* parser.c xmlIO.c include/libxml/tree.h: some tuning of buffer
allocations
* parser.c parserInternals.c include/libxml/parser.h: keep a
single allocated block for all the attributes callbacks,
avoid useless malloc()/free()
* tree.c: do not realloc() when growing a buffer if the buffer
ain't full, malloc/memcpy/free avoid copying memory.
Daniel
/external/libxml2/dict.c
2fdbd32d514c8b9d166a80564aca3426ec9cfdb2 18-Aug-2003 Daniel Veillard <veillard@src.gnome.org> new dictionary module to keep a single instance of the names used by the

* dict.c include/libxml/dict.h Makefile.am include/libxml/Makefile.am:
new dictionary module to keep a single instance of the names used
by the parser
* DOCBparser.c HTMLparser.c parser.c parserInternals.c valid.c:
switched all parsers to use the dictionary internally
* include/libxml/HTMLparser.h include/libxml/parser.h
include/libxml/parserInternals.h include/libxml/valid.h:
Some of the interfaces changed as a result to receive or return
"const xmlChar *" instead of "xmlChar *", this is either
insignificant from an user point of view or when the returning
value changed, those function are really parser internal methods
that no user code should really change
* doc/libxml2-api.xml doc/html/*: the API interface changed and
the docs were regenerated
Daniel
/external/libxml2/dict.c