From 61641cc01565617207f878ec22df4aa7ee965d3e Mon Sep 17 00:00:00 2001 From: andreast Date: Thu, 6 Nov 2003 15:47:41 +0000 Subject: [PATCH] 2003-11-06 Andreas Tobler * src/prep_cif.c (ffi_prep_cif): Move the validity check after the initialization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73309 138bc75d-0d04-0410-961f-82ee72b054a4 --- libffi/ChangeLog | 7 ++++++- libffi/src/prep_cif.c | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/libffi/ChangeLog b/libffi/ChangeLog index 00ee87c..1a472aa 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,6 +1,11 @@ +2003-11-06 Andreas Tobler + + * src/prep_cif.c (ffi_prep_cif): Move the validity check after + the initialization. + 2003-10-23 Andreas Tobler - * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace + * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace FFI_ASSERT(FALSE) with FFI_ASSERT(0). 2003-10-22 David Daney diff --git a/libffi/src/prep_cif.c b/libffi/src/prep_cif.c index f43ccfc..3ee5ead 100644 --- a/libffi/src/prep_cif.c +++ b/libffi/src/prep_cif.c @@ -125,13 +125,15 @@ ffi_status ffi_prep_cif(/*@out@*/ /*@partial@*/ ffi_cif *cif, for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) { - /* Perform a sanity check on the argument type */ - FFI_ASSERT_VALID_TYPE(*ptr); /* Initialize any uninitialized aggregate type definitions */ if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK)) return FFI_BAD_TYPEDEF; + /* Perform a sanity check on the argument type, do this + check after the initialization. */ + FFI_ASSERT_VALID_TYPE(*ptr); + #if !defined __x86_64__ && !defined S390 #ifdef SPARC if (((*ptr)->type == FFI_TYPE_STRUCT -- 2.7.4