summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2017-02-09 19:38:17 +0100
committerRay Strode <rstrode@redhat.com>2018-04-02 17:32:25 -0400
commit6b5e0e7a9c1f832759cb32f780d654daca445abd (patch)
tree11b0115d9d9553e2ac45897e229fb29d4558500c
parente05f67d2bb2052a713449da23e7ae8cfbb33717e (diff)
downloadpolkit-6b5e0e7a9c1f832759cb32f780d654daca445abd.tar.gz
Fix error handling in polkit_authority_enumerate_temporary_authorizations_finish
Fix memory leaks, and don't return a pointer to freed memory. https://bugs.freedesktop.org/show_bug.cgi?id=99741 Signed-off-by: Miloslav Trmač <mitr@redhat.com>
-rw-r--r--src/polkit/polkitauthority.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/polkit/polkitauthority.c b/src/polkit/polkitauthority.c
index 15a81ac..71d527c 100644
--- a/src/polkit/polkitauthority.c
+++ b/src/polkit/polkitauthority.c
@@ -1698,11 +1698,13 @@ polkit_authority_enumerate_temporary_authorizations_finish (PolkitAuthority *aut
g_prefix_error (error, "Error serializing return value of EnumerateTemporaryAuthorizations: ");
g_list_foreach (ret, (GFunc) g_object_unref, NULL);
g_list_free (ret);
- goto out;
+ ret = NULL;
+ goto out_array;
}
ret = g_list_prepend (ret, auth);
}
ret = g_list_reverse (ret);
+ out_array:
g_variant_unref (array);
g_variant_unref (value);