[gobject-introspection] Use the correct size when freeing unused info
- From: Sjoerd Simons <sjoerds src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gobject-introspection] Use the correct size when freeing unused info
- Date: Thu, 20 Oct 2011 08:26:14 +0000 (UTC)
commit 02afe18bbb7880118bc99ffaeaccdacfbb75a44d
Author: Sjoerd Simons <sjoerd luon net>
Date: Wed Oct 19 23:26:35 2011 +0100
Use the correct size when freeing unused info
A GIBaseInfo struct can underneath either be GIRealInfo *or*
GIUnresolvedInfo if the type is GI_INFO_TYPE_UNRESOLVED. So when we
eventually free the structures slice use the correct struct type
otherwise things get unhappy.
girepository/gibaseinfo.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/girepository/gibaseinfo.c b/girepository/gibaseinfo.c
index bfb7743..48af5c2 100644
--- a/girepository/gibaseinfo.c
+++ b/girepository/gibaseinfo.c
@@ -253,7 +253,10 @@ g_base_info_unref (GIBaseInfo *info)
if (rinfo->repository)
g_object_unref (rinfo->repository);
- g_slice_free (GIRealInfo, rinfo);
+ if (rinfo->type == GI_INFO_TYPE_UNRESOLVED)
+ g_slice_free (GIUnresolvedInfo, rinfo);
+ else
+ g_slice_free (GIRealInfo, rinfo);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]