PSD resource block handling patch
|Status:||Closed||Start date:||23 Oct 2010|
|Priority:||Normal||Due date:||23 Oct 2010|
|Assignee:||Michael Ulbrich||% Done:|
1. In PsdImage::doWriteMetadata() the resourceNameLength was written modulo 0x000f. This is a bug since max name length is 255. The attached patch changes the mask value to 0x00ff.
2. In cases where original resource blocks are not stored by resource id in ascending order, exiv2 writes EXIF, IPTC or XMP blocks early in the list of resource blocks. If the original file contained it's EXIF, IPTC and XMP blocks towards the end of the resource list, exiv2 erroneously wrote it's blocks again, at the position of the original blocks. This behaviour did not corrupt the data structure, but is also fixed by the attached patch.