Change-Id: I3770d15860345ce232d54b0e013184e8086ed079
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
assert (directory != NULL);
file_name = malloc (strlen (directory) + strlen ("/mime/mime.cache") + 1);
assert (directory != NULL);
file_name = malloc (strlen (directory) + strlen ("/mime/mime.cache") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/mime.cache");
if (stat (file_name, &st) == 0)
{
strcpy (file_name, directory); strcat (file_name, "/mime/mime.cache");
if (stat (file_name, &st) == 0)
{
{
xdg_dir_time_list_add (file_name, st.st_mtime);
{
xdg_dir_time_list_add (file_name, st.st_mtime);
- _caches = realloc (_caches, sizeof (XdgMimeCache *) * (n_caches + 2));
- _caches[n_caches] = cache;
- _caches[n_caches + 1] = NULL;
- n_caches++;
+ XdgMimeCache **tmp_caches = realloc (_caches, sizeof (XdgMimeCache *) * (n_caches + 2));
+ if (tmp_caches != NULL)
+ {
+ _caches = tmp_caches;
+ _caches[n_caches] = cache;
+ _caches[n_caches + 1] = NULL;
+ n_caches++;
}
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/globs2") + 1);
}
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/globs2") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/globs2");
if (stat (file_name, &st) == 0)
{
strcpy (file_name, directory); strcat (file_name, "/mime/globs2");
if (stat (file_name, &st) == 0)
{
{
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/globs") + 1);
{
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/globs") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/globs");
if (stat (file_name, &st) == 0)
{
strcpy (file_name, directory); strcat (file_name, "/mime/globs");
if (stat (file_name, &st) == 0)
{
}
file_name = malloc (strlen (directory) + strlen ("/mime/magic") + 1);
}
file_name = malloc (strlen (directory) + strlen ("/mime/magic") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/magic");
if (stat (file_name, &st) == 0)
{
strcpy (file_name, directory); strcat (file_name, "/mime/magic");
if (stat (file_name, &st) == 0)
{
}
file_name = malloc (strlen (directory) + strlen ("/mime/aliases") + 1);
}
file_name = malloc (strlen (directory) + strlen ("/mime/aliases") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/aliases");
_xdg_mime_alias_read_from_file (alias_list, file_name);
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/subclasses") + 1);
strcpy (file_name, directory); strcat (file_name, "/mime/aliases");
_xdg_mime_alias_read_from_file (alias_list, file_name);
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/subclasses") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/subclasses");
_xdg_mime_parent_read_from_file (parent_list, file_name);
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/icons") + 1);
strcpy (file_name, directory); strcat (file_name, "/mime/subclasses");
_xdg_mime_parent_read_from_file (parent_list, file_name);
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/icons") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/icons");
_xdg_mime_icon_read_from_file (icon_list, file_name);
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/generic-icons") + 1);
strcpy (file_name, directory); strcat (file_name, "/mime/icons");
_xdg_mime_icon_read_from_file (icon_list, file_name);
free (file_name);
file_name = malloc (strlen (directory) + strlen ("/mime/generic-icons") + 1);
+ if (file_name == NULL)
+ return TRUE;
+
strcpy (file_name, directory); strcat (file_name, "/mime/generic-icons");
_xdg_mime_icon_read_from_file (generic_icon_list, file_name);
free (file_name);
strcpy (file_name, directory); strcat (file_name, "/mime/generic-icons");
_xdg_mime_icon_read_from_file (generic_icon_list, file_name);
free (file_name);
if (fstat (fd, &st) < 0 || st.st_size < 4)
goto done;
if (fstat (fd, &st) < 0 || st.st_size < 4)
goto done;
cache = (XdgMimeCache *) malloc (sizeof (XdgMimeCache));
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;
cache->minor = minor;
cache->ref_count = 1;
cache->buffer = buffer;
len = 128;
pos = 0;
retval = malloc (len);
len = 128;
pos = 0;
retval = malloc (len);
+ if (retval == NULL)
+ return NULL;
+
*end_of_file = FALSE;
while (TRUE)
*end_of_file = FALSE;
while (TRUE)
if (pos % 128 == 127)
{
len = len + 128;
if (pos % 128 == 127)
{
len = len + 128;
- retval = realloc (retval, len);
+ unsigned char *tmp = realloc (retval, len);
+ if (tmp == NULL)
+ {
+ free(retval);
+ return NULL;
+ }
+ retval = tmp;