[gobject-introspection] Fix a possible use-after-free.
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] Fix a possible use-after-free.
- Date: Sat, 2 Feb 2019 11:14:39 +0000 (UTC)
commit 7fb2307356184580ab70f0821f45759a13a69be2
Author: Elliott Sales de Andrade <quantum analyst gmail com>
Date: Thu Jan 31 16:46:38 2019 -0500
Fix a possible use-after-free.
If g_mapped_file_new fails, then `version` will be freed, but it was
already added to the hash table. This means there could be a
use-after-free while doing a lookup on the hash table the next time.
girepository/girepository.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/girepository/girepository.c b/girepository/girepository.c
index bc9e4ed5..ca5dc2b9 100644
--- a/girepository/girepository.c
+++ b/girepository/girepository.c
@@ -1405,7 +1405,6 @@ enumerate_namespace_versions (const gchar *namespace,
g_free (version);
continue;
}
- g_hash_table_insert (found_versions, version, version);
path = g_build_filename (dirname, entry, NULL);
mfile = g_mapped_file_new (path, FALSE, &error);
@@ -1422,6 +1421,7 @@ enumerate_namespace_versions (const gchar *namespace,
candidate->path = path;
candidate->version = version;
candidates = g_slist_prepend (candidates, candidate);
+ g_hash_table_add (found_versions, version);
}
g_dir_close (dir);
index++;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]