From: Saleem Abdulrasool Date: Sun, 13 Dec 2009 19:53:04 +0000 (-0800) Subject: protect on null retval X-Git-Tag: GOBJECT_INTROSPECTION_0_6_7~2 X-Git-Url: http://git.roojs.org/?p=gnome.gobject-introspection;a=commitdiff_plain;h=eef0abab4094bb6bc16cf186771dfb5ab39d7b16 protect on null retval ffi_call does not protect against retval being NULL, resulting in a segfault. https://bugzilla.gnome.org/show_bug.cgi?id=604472 --- diff --git a/girepository/ginvoke.c b/girepository/ginvoke.c index 70d81f8..136860c 100644 --- a/girepository/ginvoke.c +++ b/girepository/ginvoke.c @@ -247,6 +247,7 @@ g_function_info_invoke (GIFunctionInfo *info, if (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, n_invoke_args, rtype, atypes) != FFI_OK) goto out; + g_return_val_if_fail (return_value, FALSE); ffi_call (&cif, func, return_value, args); if (local_error) @@ -435,6 +436,7 @@ gi_cclosure_marshal_generic (GClosure *closure, if (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, n_args, rtype, atypes) != FFI_OK) return; + g_return_val_if_fail (rvalue, FALSE); ffi_call (&cif, marshal_data ? marshal_data : cc->callback, rvalue, args); if (return_gvalue && G_VALUE_TYPE (return_gvalue))