From 0cc97c7f2390abc0bbac145601cdce169e90277d Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Mon, 13 Jun 2016 05:49:40 +0000 Subject: [PATCH] #1189 Use in-memory file to dump Nikon MakerNote tag 0x927c --- src/tiffimage.cpp | 7 ++++++- test/data/bugfixes-test.out | Bin 1901123 -> 1911273 bytes 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/tiffimage.cpp b/src/tiffimage.cpp index 1308839d..b98693be 100644 --- a/src/tiffimage.cpp +++ b/src/tiffimage.cpp @@ -593,7 +593,12 @@ namespace Exiv2 { io.read(bytes,jump ) ; // read bytes[jump]=0 ; if ( ::strcmp("Nikon",chars) == 0 ) { - printTiffStructure(io,out,option,depth,(size_t)(offset+jump)); + // tag is an embedded tiff + byte* bytes=new byte[count-jump] ; // allocate memory + io.read(bytes,count-jump) ; // read + MemIo memIo(bytes,count-jump) ; // create a file + printTiffStructure(memIo,out,option,depth); + delete[] bytes ; // free } io.seek(restore,BasicIo::beg); // restore } diff --git a/test/data/bugfixes-test.out b/test/data/bugfixes-test.out index 40f6f27437b12d9a7cdefb5fab3c50db255ae3ea..823584c692f6ca1ae63b1cef5c0df6b9220544ef 100644 GIT binary patch delta 6015 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 delta 83 zcmaEPx#Vz5Nka=`3sVbo3rh=Y3tJ0&3r7oQ3s(zw3r`Dg3ttO=i$IHDi%^Sji%5%T ni&%?zi$sfLi&TsB7MUEa?Oz>aRQb2d2FPS^ZJ(bl