The problem is that the parser adds an empty property value when
parsing an empty Alt-array, "<rdf:Alt/>".
But when it is encoded it is expected to be in the form of a NULL
terminated array of pairs of property values, with the result that the
NULL terminator is considered the second element of the first pair and
the loop encoding these properties goes beyond the end of the array,
thus dereferencing invalid pointers.
This commit alters the parser to avoid adding dummy values when empty
rdf:Alt, rdf:Bag and rdf:Seq elements are found.
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-10-19 Sven Neumann <sven@gimp.org>
* plug-ins/metadata/xmp-encode.c
* plug-ins/metadata/xmp-parse.c
* plug-ins/metadata/metadata.c
* plug-ins/metadata/xmpdump.c: removal of unused includes and
other minor cleanups.
svn path=/trunk/; revision=27332
2007-04-12 Raphael Quinet <raphael@gimp.org>
* plug-ins/metadata/xmp-parse.c: made the parser more tolerant and
accept XMP blocks that are not using the namespace prefixes
recommended by the XMP specification.
svn path=/trunk/; revision=22242
2006-05-30 Raphael Quinet <raphael@gimp.org>
* plug-ins/metadata/xmp-parse.c: protect against broken XMP blocks
using rdf:Alt instead of rdf:Seq. Fixes bug #343315.
* plug-ins/metadata/xmpdump.c (main): call g_set_prgname() to get
better messages from glib.
* data/images/gimp-splash.png: new splash screen, waiting for the
old animation feature to be restored.
2005-04-22 Raphael Quinet <raphael@gimp.org>
* plug-ins/metadata/xmp-model.[ch]: Fixed crash occuring after a
double free of some structured XMP properties. Added new type
XMP_TYPE_GENERIC_STRUCTURE for unknown structured properties. Be
more tolerant in parsing incorrectly written schema URIs and try
to extract a valid URI from them. Converted to use g_print().
Moved the definitions of standard XMP schemas from here...
* plug-ins/metadata/xmp-schemas.[ch]: ...to these new files.
* plug-ins/metadata/xmp-encode.[ch]: Rewritten using GString
instead of fixed buffers.
* plug-ins/metadata/metadata.c
* plug-ins/metadata/interface.c: Adapted to the new function
xmp_generate_block() using GString.
* plug-ins/metadata/base64.c (base64_encode): Fixed incorrect
encoding of bytes with the sign bit set.
* plug-ins/metadata/testbase64.c
* plug-ins/metadata/Makefile.am: Added xmp-schema.[ch] and test
program testbase64.c (testing base64 encoding and decoding).
* plug-ins/metadata/xmpdump.c: Converted to use g_print().
* plug-ins/metadata/xmp-parse.c: Added some #ifdef's around
debugging code, added more comments.
2005-04-11 Raphael Quinet <raphael@gimp.org>
* plug-ins/metadata/metadata.c: Register plug_in_metadata_import
and plug_in_metadata_export in the PDB.
* plug-ins/metadata/Makefile.am
* plug-ins/metadata/base64.h
* plug-ins/metadata/base64.c: Added base64 decoder, needed for
reading the thumbnail images (base64 encoded inside XML element).
* plug-ins/metadata/xmp-parse.h
* plug-ins/metadata/xmp-parse.c: Added XMP_PTYPE_ALT_THUMBS for
parsing a list of thumbnail images. Decode and store the base64
encoded images.
* plug-ins/metadata/xmpdump.c
* plug-ins/metadata/xmp-model.h
* plug-ins/metadata/xmp-model.c: Added support for thumbnails,
defined global symbols for standard XMP schema URIs.
* plug-ins/metadata/interface.c: Preliminary support for widget
cross-references just for testing - it does not save anything yet.
Added thumbnail tab, although the thumbnail image is not displayed
yet.