Duplicate the mime_type when storing it in a hash node, to avoid leaks.

2007-04-09  Matthias Clasen  <mclasen@redhat.com>

        * xdgmimeglob.c (_xdg_glob_hash_insert_text): Duplicate the
        mime_type when storing it in a hash node, to avoid leaks.
        Update all callers.


svn path=/trunk/; revision=17589
This commit is contained in:
Matthias Clasen 2007-04-09 18:31:11 +00:00 committed by Matthias Clasen
parent e188c8c0af
commit 8140741f89
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2007-04-09 Matthias Clasen <mclasen@redhat.com>
* xdgmimeglob.c (_xdg_glob_hash_insert_text): Duplicate the
mime_type when storing it in a hash node, to avoid leaks.
Update all callers.
2007-01-07 Matthias Clasen <mclasen@redhat.com>
* xdgmimecache.c (cache_glob_node_lookup_suffix): Don't return ""

View File

@ -263,7 +263,7 @@ _xdg_glob_hash_insert_text (XdgGlobHashNode *glob_hash_node,
{
child = _xdg_glob_hash_node_new ();
child->character = '\000';
child->mime_type = mime_type;
child->mime_type = strdup (mime_type);
child->child = NULL;
child->next = node->child;
node->child = child;
@ -272,7 +272,7 @@ _xdg_glob_hash_insert_text (XdgGlobHashNode *glob_hash_node,
}
else
{
node->mime_type = mime_type;
node->mime_type = strdup (mime_type);
}
}
else
@ -477,7 +477,7 @@ _xdg_glob_hash_append_glob (XdgGlobHash *glob_hash,
glob_hash->literal_list = _xdg_glob_list_append (glob_hash->literal_list, strdup (glob), strdup (mime_type));
break;
case XDG_GLOB_SIMPLE:
glob_hash->simple_node = _xdg_glob_hash_insert_text (glob_hash->simple_node, glob + 1, strdup (mime_type));
glob_hash->simple_node = _xdg_glob_hash_insert_text (glob_hash->simple_node, glob + 1, mime_type);
break;
case XDG_GLOB_FULL:
glob_hash->full_list = _xdg_glob_list_append (glob_hash->full_list, strdup (glob), strdup (mime_type));