aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2011-04-05 16:10:31 +0200
committerghost <andreas.monzner@multimedia-labs.de>2011-04-05 16:10:31 +0200
commit56f974233cee97065839a29879f63e786c97705b (patch)
treee021840de4966fdae001f901d84b76896fda8ac7
parent4b75db3b0d44477569da0f86590e7b102ccf07fe (diff)
downloadenigma2-56f974233cee97065839a29879f63e786c97705b.tar.gz
enigma2-56f974233cee97065839a29879f63e786c97705b.zip
gdi/picexif.cpp: more and more FD leak stuff
refs bug #599
-rw-r--r--lib/gdi/picexif.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/lib/gdi/picexif.cpp b/lib/gdi/picexif.cpp
index 8383ee2f..42479429 100644
--- a/lib/gdi/picexif.cpp
+++ b/lib/gdi/picexif.cpp
@@ -108,7 +108,7 @@ bool Cexif::DecodeExif(const char *filename, int Thumb)
strcpy(m_szLastError,"EXIF-Data not found");
if (a != 0xff || fgetc(hFile) != M_SOI)
- goto decode_exif_out;
+ goto decode_exif_out_false;
for(;;)
{
@@ -119,7 +119,7 @@ bool Cexif::DecodeExif(const char *filename, int Thumb)
if (SectionsRead >= MAX_SECTIONS)
{
strcpy(m_szLastError,"Too many sections in jpg file");
- goto decode_exif_out;
+ goto decode_exif_out_false;
}
for (a=0;a<7;a++)
@@ -130,14 +130,14 @@ bool Cexif::DecodeExif(const char *filename, int Thumb)
if (a >= 6)
{
strcpy(m_szLastError,"too many padding unsigned chars\n");
- goto decode_exif_out;
+ goto decode_exif_out_false;
}
}
if (marker == 0xff)
{
strcpy(m_szLastError,"too many padding unsigned chars!");
- goto decode_exif_out;
+ goto decode_exif_out_false;
}
Sections[SectionsRead].Type = marker;
@@ -150,7 +150,7 @@ bool Cexif::DecodeExif(const char *filename, int Thumb)
if (itemlen < 2)
{
strcpy(m_szLastError,"invalid marker");
- goto decode_exif_out;
+ goto decode_exif_out_false;
}
Sections[SectionsRead].Size = itemlen;
@@ -158,7 +158,7 @@ bool Cexif::DecodeExif(const char *filename, int Thumb)
if (Data == NULL)
{
strcpy(m_szLastError,"Could not allocate memory");
- goto decode_exif_out;
+ goto decode_exif_out_false;
}
Sections[SectionsRead].Data = Data;
@@ -170,17 +170,17 @@ bool Cexif::DecodeExif(const char *filename, int Thumb)
if (got != itemlen-2)
{
strcpy(m_szLastError,"Premature end of file?");
- goto decode_exif_out;
+ goto decode_exif_out_false;
}
SectionsRead += 1;
switch(marker)
{
case M_SOS:
- goto decode_exif_out;
+ goto decode_exif_out_true;
case M_EOI:
printf("No image in jpeg!\n");
- goto decode_exif_out;
+ goto decode_exif_out_false;
case M_COM:
if (HaveCom)
{
@@ -227,9 +227,11 @@ bool Cexif::DecodeExif(const char *filename, int Thumb)
break;
}
}
+
+decode_exif_out_true:
ret = true;
-decode_exif_out:
+decode_exif_out_false:
fclose(hFile);
return ret;
}