diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc index a22cd8b65..f0ebb2ac1 100644 --- a/rtengine/imageio.cc +++ b/rtengine/imageio.cc @@ -785,7 +785,7 @@ int ImageIO::saveTIFF (Glib::ustring fname, int bps, bool uncompressed) { exif->write (8, buffer); write (TIFFFileno (out), buffer+8, exif_size); - delete buffer; + delete [] buffer; // let libtiff know that scanlines or any other following stuff should go // at a different offset: TIFFSetWriteOffset (out, exif_size+8); diff --git a/rtexif/nikonattribs.cc b/rtexif/nikonattribs.cc index 02abbb21c..8f909ba9c 100644 --- a/rtexif/nikonattribs.cc +++ b/rtexif/nikonattribs.cc @@ -642,11 +642,11 @@ class NALensDataInterpreter : public Interpreter { d100 = false; } - unsigned char buffer[15]; + unsigned char buffer[16]; if (d100) memcpy (buffer, t->getValue()+6, 7); else - memcpy (buffer, t->getValue()+4, 15); + memcpy (buffer, t->getValue()+4, 16); if (ver>=201) { const unsigned char* serval = t->getParent()->getTag(0x001d)->getValue (); @@ -661,7 +661,7 @@ class NALensDataInterpreter : public Interpreter { unsigned char ci = xlat[0][serial & 0xff]; unsigned char cj = xlat[1][key]; unsigned char ck = 0x60; - for (int i=0; i < 15; i++) + for (int i=0; i < 16; i++) buffer[i] ^= (cj += ci * ck++); }