if (fd < 0)
return NULL;
-
+
if (fstat (fd, &st) < 0 || st.st_size < 4)
goto done;
goto done;
}
-
+
cache = (XdgMimeCache *) malloc (sizeof (XdgMimeCache));
+ if (cache == NULL)
+ {
+ munmap (buffer, st.st_size);
+
+ goto done;
+ }
+
cache->minor = minor;
cache->ref_count = 1;
cache->buffer = buffer;