aboutsummaryrefslogtreecommitdiffstats
path: root/src/arm
diff options
context:
space:
mode:
authorZachary Waldowski <zach@waldowski.me>2013-12-30 15:26:20 -0500
committerZachary Waldowski <zach@waldowski.me>2014-02-05 14:28:58 -0500
commita8e0a835ab1f62d03ad6391760e3e8b7732d24f8 (patch)
tree5050c38a6d1e3c7f8ef3a26827d8a6334333d661 /src/arm
parent13675341581c489ed9df8ba390c8e08a732decb2 (diff)
downloadplatform_external_libffi-a8e0a835ab1f62d03ad6391760e3e8b7732d24f8.tar.gz
platform_external_libffi-a8e0a835ab1f62d03ad6391760e3e8b7732d24f8.tar.bz2
platform_external_libffi-a8e0a835ab1f62d03ad6391760e3e8b7732d24f8.zip
Darwin/ARM: Assert on NULL dereference
This inhibits an analyzer warning by Clang on all platforms.
Diffstat (limited to 'src/arm')
-rw-r--r--src/arm/ffi.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/arm/ffi.c b/src/arm/ffi.c
index 9f238e1..3b39056 100644
--- a/src/arm/ffi.c
+++ b/src/arm/ffi.c
@@ -350,9 +350,17 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
break;
}
if (small_struct)
- memcpy (rvalue, &temp, cif->rtype->size);
+ {
+ FFI_ASSERT(rvalue != NULL);
+ memcpy (rvalue, &temp, cif->rtype->size);
+ }
+
else if (vfp_struct)
- memcpy (rvalue, ecif.rvalue, cif->rtype->size);
+ {
+ FFI_ASSERT(rvalue != NULL);
+ memcpy (rvalue, ecif.rvalue, cif->rtype->size);
+ }
+
}
/** private members **/