[gobject-introspection] protect on null retval



commit eef0abab4094bb6bc16cf186771dfb5ab39d7b16
Author: Saleem Abdulrasool <compnerd compnerd org>
Date:   Sun Dec 13 11:53:04 2009 -0800

    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

 girepository/ginvoke.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
---
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))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]