Fix static analysis issues
[platform/core/appfw/xdgmime.git] / xdgmime / src / xdgmimemagic.c
index fbc03af..7bd727c 100644 (file)
@@ -240,7 +240,7 @@ _xdg_mime_magic_read_a_number (FILE *magic_file,
       errno = 0;
       retval = strtol (number_string, NULL, 10);
 
-      if ((retval < INT_MIN) || (retval > INT_MAX) || (errno != 0))
+      if ((retval == LONG_MIN) || (retval == LONG_MAX) || (errno != 0))
        return -1;
     }
 
@@ -280,8 +280,12 @@ _xdg_mime_magic_parse_header (FILE *magic_file, XdgMimeMagicMatch *match)
     return XDG_MIME_MAGIC_ERROR;
 
   buffer = (char *)_xdg_mime_magic_read_to_newline (magic_file, &end_of_file);
-  if (end_of_file)
+  if (end_of_file) {
+    if (buffer)
+      free(buffer);
+
     return XDG_MIME_MAGIC_EOF;
+  }
 
   end_ptr = buffer;
   while (*end_ptr != ']' && *end_ptr != '\000' && *end_ptr != '\n')
@@ -791,7 +795,6 @@ _xdg_mime_magic_read_magic_file (XdgMimeMagic *mime_magic,
        case XDG_MIME_MAGIC_ERROR:
          state = _xdg_mime_magic_parse_error (magic_file);
          break;
-       case XDG_MIME_MAGIC_EOF:
        default:
          /* Make the compiler happy */
          assert (0);