handle the case when io.open() fails
authorVladimir Nadvornik <nadvornik@suse.cz>
Sun, 7 Dec 2008 13:28:04 +0000 (13:28 +0000)
committerVladimir Nadvornik <nadvornik@suse.cz>
Sun, 7 Dec 2008 13:28:04 +0000 (13:28 +0000)
src/exiv2.cc

index 45bcf52..31bf976 100644 (file)
@@ -145,9 +145,12 @@ public:
                        Exiv2::BasicIo &io = image_->io();
                        gint open = io.isopen();
                        if (!open) io.open();
-                       unsigned char *mapped = (unsigned char*)io.mmap();
-                       if (mapped) exif_jpeg_parse_color(this, mapped, io.size());
-                       io.munmap();
+                       if (io.isopen())
+                               {
+                               unsigned char *mapped = (unsigned char*)io.mmap();
+                               if (mapped) exif_jpeg_parse_color(this, mapped, io.size());
+                               io.munmap();
+                               }
                        if (!open) io.close();
                        }
 #endif