summaryrefslogtreecommitdiff
path: root/girepository/giconstantinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'girepository/giconstantinfo.c')
-rw-r--r--girepository/giconstantinfo.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/girepository/giconstantinfo.c b/girepository/giconstantinfo.c
index c18a9d3f..a9d4cbc0 100644
--- a/girepository/giconstantinfo.c
+++ b/girepository/giconstantinfo.c
@@ -128,7 +128,15 @@ g_constant_info_get_value (GIConstantInfo *info,
if (blob->type.flags.reserved == 0 && blob->type.flags.reserved2 == 0)
{
if (blob->type.flags.pointer)
- value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size);
+ {
+#if GLIB_CHECK_VERSION (2, 67, 5)
+ gsize blob_size = blob->size;
+
+ value->v_pointer = g_memdup2 (&rinfo->typelib->data[blob->offset], blob_size);
+#else
+ value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size);
+#endif
+ }
else
{
switch (blob->type.flags.tag)