[easytag] Fix libapetag unused result warnings, bug 699979



commit 95d34d6981afe72f6f0a1b30596f6005519d34e3
Author: David King <amigadave amigadave com>
Date:   Thu May 9 21:20:45 2013 +0100

    Fix libapetag unused result warnings, bug 699979

 src/libapetag/apetaglib.c |   13 +++++++++++--
 src/libapetag/info_mac.c  |    6 +++++-
 src/libapetag/info_mpc.c  |    6 +++++-
 src/libapetag/is_tag.c    |   24 ++++++++++++++++++++----
 4 files changed, 41 insertions(+), 8 deletions(-)
---
diff --git a/src/libapetag/apetaglib.c b/src/libapetag/apetaglib.c
index 2841591..6f5d3b1 100644
--- a/src/libapetag/apetaglib.c
+++ b/src/libapetag/apetaglib.c
@@ -916,7 +916,13 @@ apetag_save (char *filename, apetag *mem_cnt, int flag)
     
     if (id3v1) {
         fseek (fp, -128, SEEK_END);
-        fread (&id3v1_tag, 1, sizeof (struct _id3v1Tag), fp);
+        if (fread (&id3v1_tag, 1, sizeof (struct _id3v1Tag), fp)
+            != sizeof (struct _id3v1Tag))
+        {
+            PRINT_ERR ("ERROR->apetaglib->apetag_save::fread");
+            fclose (fp);
+            return ATL_FREAD;
+        }
         skipBytes += id3v1;
     }
     skipBytes += apeTag;
@@ -1033,7 +1039,10 @@ apetag_save (char *filename, apetag *mem_cnt, int flag)
         fflush (fp);
         fclose (fp);
         /* ftruncate don't work */ 
-        truncate (filename, newFileSize);
+        if (truncate (filename, newFileSize) == -1)
+        {
+            PRINT_ERR ("FATAL_ERROR->libapetag->apetag_save::fwrite [file not truncated]");
+        }
     } else { /* !!SAVE_FAKE_SAVE */
         libapetag_print_mem_cnt (mem_cnt);
     }
diff --git a/src/libapetag/info_mac.c b/src/libapetag/info_mac.c
index 9410eb8..fb19f97 100644
--- a/src/libapetag/info_mac.c
+++ b/src/libapetag/info_mac.c
@@ -104,7 +104,11 @@ info_mac_read(const char *fn, StreamInfoMac * Info)
     // skip id3v2 
     SkipSizeID3 = is_id3v2(tmpFile);
     fseek(tmpFile, SkipSizeID3, SEEK_SET);
-    fread((void *) HeaderData, sizeof (int), 16, tmpFile);
+    if (fread ((void *) HeaderData, sizeof (int), 16, tmpFile) != 16)
+    {
+        fclose (tmpFile);
+        return 1;
+    }
     fseek(tmpFile, 0, SEEK_END);
     Info->FileSize = ftell(tmpFile);
     fclose(tmpFile);
diff --git a/src/libapetag/info_mpc.c b/src/libapetag/info_mpc.c
index a7081d8..94070fa 100644
--- a/src/libapetag/info_mpc.c
+++ b/src/libapetag/info_mpc.c
@@ -77,7 +77,11 @@ info_mpc_read(const char *fn, StreamInfoMpc * Info)
     // skip id3v2 
     SkipSizeID3=is_id3v2(tmpFile);
     fseek(tmpFile,SkipSizeID3 , SEEK_SET);
-    fread((void *) HeaderData, sizeof (int), 16, tmpFile);
+    if (fread ((void *) HeaderData, sizeof (int), 16, tmpFile) != 16)
+    {
+        fclose (tmpFile);
+        return 1;
+    }
     fseek(tmpFile, 0, SEEK_END);
     Info->FileSize=ftell(tmpFile);
     // stream size 
diff --git a/src/libapetag/is_tag.c b/src/libapetag/is_tag.c
index d55fa02..7cef2b1 100644
--- a/src/libapetag/is_tag.c
+++ b/src/libapetag/is_tag.c
@@ -58,7 +58,11 @@ is_id3v1 (FILE * fp)
         n++;
         memset (buf, 0, sizeof (buf));
         fseek (fp, ((-128)*n) - 3 , SEEK_END);
-        fread (&buf, 1, sizeof (buf), fp);
+        if (fread (&buf, 1, sizeof (buf), fp) != sizeof (buf))
+        {
+            fseek (fp, savedFilePosition, SEEK_SET);
+            return 0;
+        }
         if (memcmp (buf, "APETAGEX",8) == 0) /*APE.TAG.EX*/
         break;
     } while (memcmp (buf+3, "TAG", 3) == 0);
@@ -87,7 +91,11 @@ is_id3v2 (FILE * fp)
     do {    
         memset (buf, 0, sizeof (buf));
         fseek (fp, id3v2size, SEEK_SET);
-        fread (&buf, 1, sizeof (buf), fp);
+        if (fread (&buf, 1, sizeof (buf), fp) != sizeof (buf))
+        {
+            fseek (fp, savedFilePosition, SEEK_SET);
+            return 0;
+        }
         if (memcmp (buf, "ID3", 3) != 0) {
         break;
         }
@@ -117,7 +125,11 @@ is_ape_ver (FILE * fp)
     memset (buf, 0, sizeof (buf));
         
     fseek (fp, (is_id3v1 (fp) ? -32 - 128 : -32), SEEK_END);
-    fread (&buf, 1, sizeof (buf), fp);
+    if (fread (&buf, 1, sizeof (buf), fp) != sizeof (buf))
+    {
+        fseek (fp, savedFilePosition, SEEK_SET);
+        return 0;
+    }
     if (memcmp (buf, "APETAGEX", 8) != 0) {
         fseek (fp, savedFilePosition, SEEK_SET);
         return 0;
@@ -145,7 +157,11 @@ is_ape (FILE * fp)
     memset (buf, 0, sizeof (buf));
         
     fseek (fp, (is_id3v1 (fp) ? -32 - 128 : -32), SEEK_END);
-    fread (&buf, 1, sizeof (buf), fp);
+    if (fread (&buf, 1, sizeof (buf), fp) != sizeof (buf))
+    {
+        fseek (fp, savedFilePosition, SEEK_SET);
+        return 0;
+    }
     if (memcmp (buf, "APETAGEX", 8) != 0) {
         fseek (fp, savedFilePosition, SEEK_SET);
         return 0;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]